+ Antworten
Seite 1 von 4 1 2 3 ... LetzteLetzte
Ergebnis 1 bis 10 von 31
  1. #1
    Registriert seit
    Dec 2008
    Beiträge
    266

    Standard Homematic Heizungssteuerung - VirtualDevices (Gruppen) ansprechen

    Hallo...

    nach einigen Versuchen glaube ich einen Weg gefunden zu haben, um in IPS die VirtualDevices der CCU2 anzusprechen.

    Zu diesem Zweck habe ich die bereits aus dem HeizungsSkript bekannte >>hmxml.inc.php<< etwas umgebaut und erweitert und ein Skript geschrieben, welches
    • die Datenpunkte der VirtualDevices (Gruppen) aus der CCU2 ausliest,
    • automatisch eine Struktur mit diesen Datenpunkten in IPS erstellt (ähnlich den HM-Konfigurator),
    • die Datenpunkte regelmäßig ausliest und
    • (z.Z.) die "SET_TEMPERATURE" und den "CONTROL_MODE" bedienen kann.


    Für alle die es ausprobieren wollen hier die "Installations-Anleitung":
    (Hinweis: Nach meinem Ermessen sollte zwar nichts (absolut) schief gehen ... macht trotzdem vorher ein Backup !!! )


    1. Falls noch nicht vorhanden, die Datei >>xmlrpc.inc.php<< hier im Forum oder per Google suchen und so ins Script-Verzeichnis von IPS kopieren.
    2. Die beigefügte Funktionssammlung >>hmxml.inc.php<< in IPS importieren. Achtet bitte darauf dass der Dateiname nicht verändert werden darf.

      Hinweis 1:
      Alle die mein Projekt "Homematic Heizkörperthermostat - Heizprogramme per WebFront einstellen" im Einsatz haben, können die bereits vorhandene >>hmxml.inc.php<< durch diese ersetzen. Macht vorher unbedingt ein Backup !!! Bei mir funktioniert zwar alles. Ich übernehme jedoch keine Garantie für eine vorhandene Installation.
      Hinweis 2:
      Die Funktionssammlung >>hmxml.inc.php<< habe ich um einige von mir nicht benötigte Funktionen entschlackt. Lest bitte das "Vorwort" in der Datei ... . Solltet Ihr diese Funktionen für eigene Anwendungen eingebunden haben, müsst Ihr diese einfach in die neue >>hmxml.inc.php< wieder reinkopieren.
      .
    3. In der importierten Funktionssammlung >>hmxml.inc.php<< die Zeilen 64, 65 und 70 unbedingt an Eure Verhältnisse anpassen (IP der CCU und Port für die HM-RF Module). Ganz wichtig: Unbedingt in Zeile 70 die IPS-ID der Funktionssammlung >>hmxml.inc.php<< einzutragen <edit> und in Zeile 268 ($IPS_HM=HM_GetKnownDevices) die ID des Homatic Konfigurators eintragen </edit>
    4. Die vorhandene Variable >>HM_Device_Cache<< löschen bzw. als Backup verschieben oder umbenennen.
    5. Das Skript >>HM_VG<< importieren. (Name und Ablage in IPS sind beliebig)
    6. Falls noch nicht vorhanden ist das Profil HM_Heizung_Steuerung_RT-DN zu erstellen bzw. ein vorhandenes Profil um den PartyModus zu ergänzen (siehe Bild).
      Hinweis: Im Webfront ist der PartyModus noch nicht aktiv auswählbar (... dass kommt später ...)
    7. <edit>Im importierten Skript >>HM_VG<< in der Zeile 49 die Kommentierung herausnehmen (HMXML_DevicesCache_update(0)), einmal manuell ausführen, die Fehlermeldung ignorieren und anschließend die Zeile wieder auskommentieren.</edit> Der erste Aufruf dauert etwas länger, da der HM-Cache neu erstellt wird. Unter diesem Skript solltet Ihr sodann diverse DummyModule finden, in denen jewels die Datenpunkte der VirtualDevices (Gruppen) zusammengefasst sind. Ihr könnt die Dummys beliebig umbenennen und in IPS verschieben/ablegen nur müssen zwingend die unter den Dummy erstellen Variablen auch bei ihrem Dummy bleiben ...
    8. Die gewünschten Variablen ins Webfront verlinken ...



    ... eine Integration in mein Heizungs-Projekt folgt ...



    Gruß

    Swifty


    PS: Sollte IPS die VirtualDevices der CCU2 nativ unterstützen wird dies hier überflüssig.
    PPS: Leider habe ich nur einen Weg gefunden, die Werte aus der CCU abzuholen. Hat Jemand eine Idee, wie man der CCU "beibringen" kann, diese bei Veränderung zu senden ?

    HM_VG.zip
    hmxml.inc.php.zip


    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Bild01.jpg 
Hits:	516 
Größe:	141.3 KB 
ID:	27028Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Bild00.jpg 
Hits:	526 
Größe:	67.9 KB 
ID:	27027Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Bild02.jpg 
Hits:	449 
Größe:	70.4 KB 
ID:	27029Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Bild03.jpg 
Hits:	500 
Größe:	55.2 KB 
ID:	27030
    Geändert von Swifty (23.12.14 um 09:59 Uhr)

  2. #2
    Registriert seit
    Mar 2013
    Beiträge
    31

    Hallo Swifty,

    ich habe bereits Dein "Homematic Heizkörperthermostat - Heizprogramme per WebFront einstellen" im Einsatz und bin nun diese Anleitung durchgegangen.

    Leider bekomme ich beim Ausführen der HM_VG diese Meldung "Warning: Invalid argument supplied for foreach() in [Heizung Details\HM_VG] on line 61" und es wird nichts angelegt (außer dem Timer).

    Die Zeilen 64,65 und 70 habe ich angepasst.
    An was könnte es liegen?

    Viele Grüße
    Erik

  3. #3
    Registriert seit
    Dec 2008
    Beiträge
    266

    Hallo ErikB

    ... die Tücke steckt im Detail ... schaun wir mal dort nach ...

    1. Wurde die Variable >>HM_Device_Cache<< als Child unter dem Script hmxml.inc.php angelegt ?
    2. Wenn nein, überprüfe bitte im Script hmxml.ic.php die Werte $GLOBALS['$BidCosServiceIP'], $GLOBALS['port1'] und $GLOBALS['hmxml_ID']... stimmen diese ?
    3. Sind die Werte OK, dann einfach mal versuchen in der HM_VG die auskommentierte Zeile "//HMXML_DevicesCache_update(0); // 0= alle Devices; 1= nur HM WD und HM RF an CCU 2; 2= nur HM_VG's XMLRPC an CCU2-Port 9292/groups" zu aktivieren und das Skript einmal zu starten. Dann sollte die HM_Device_Cache angelegt bzw. upgedatet werden.
    4. Zum Prüfen, ob die HM_DevicesCache überhaupt relevante Werte enthält kannst du im Skript HM_VG hinter der Zeile "$HM_VGs=HMXML_DevicesCache_ListByType('HM-CC-VG-1');" einfach mal ein "prinr_r($HM_VGs) einfügen und die Ausgabe mal hier posten.


    Gruß Swifty

  4. #4
    Registriert seit
    Mar 2013
    Beiträge
    31

    Hallo Swifty,

    vielen Dank für die schnelle Hilfe.
    Nachdem ich die Zeile in der HM_VG einmalig aktiviert hatte ging es.

    Jetzt habe ich aber das Problem das ich über die Grenze von 1000 Variablen komme.....aber das ist ein anderes Thema.

    Viele Grüße
    Erik

  5. #5
    Registriert seit
    Dec 2008
    Beiträge
    266

    Hall ErikB ...

    du kannst ja die HM_VG so anpassen, dass nur die Variablen angelegt werden, die für Dich interessant sind. Einfach die jeweilige Case-Zeile auskommentieren.

    Gruß

    Swifty

  6. #6
    Registriert seit
    Aug 2010
    Beiträge
    4,758

    Moin swifty,

    sehe gerade dass sich wohl eine kleine Veränderung in die letzte CCU2-Software eingeschlichen hat. Veränderungen am Wandthermostat über WebUI oder IP-SymcAn werden jetzt an die Gruppe weitergegeben.

    Gruß
    Bruno

  7. #7
    Registriert seit
    Dec 2008
    Beiträge
    266

    Hi ...

    habe ich auch gerade getestet ... sieht gut aus.

    Noch besser währe es jedoch, wenn man den HomeMatic Socket "überreden" könnte, mit dem für die VirtualDevices zuständigen XML-RPC-Server Kontakt aufzunehmen. Dann bräuchte man die Werte der Gruppen nicht abfragen. Die kämen ja dann frei Haus ...

    Gruß

    Swifty

  8. #8
    Registriert seit
    Jun 2012
    Ort
    House of Dragons @ Lübeck
    Beiträge
    9,371

    Dann lasst uns doch alle noch mal den Funktionswunsch pushen
    Ich glaube seit dem CCU Update könnte der RPC sogar Events versenden? Hat das mal wer getestet ?
    Michael
    on Win7VM (ESXi): I5, 24GB RAM, HW-RAID5, 3xSat | HW: CCU + 123 Geräte (506ch), EM1000, CUL, 1Wire, XBee, ELRO 433MHz, FritzBox Cable, Android Phone + Tablet, Samsung C-Serie TV +SamyGo-Ext, Onkyo NR| SW: IPS, Apache2(mod_ssl/PHP), MySQL, hMailServer, PRTG, Rising AV, Piwik, RoundCube, Wordpress, WinLIRC, WHS2011, MediaPortal, XBMC

  9. #9
    Registriert seit
    Dec 2008
    Beiträge
    266

    Push erfolgt ... melde Vollzug. ...
    Geändert von Swifty (23.11.14 um 19:59 Uhr)

  10. #10
    Registriert seit
    Dec 2010
    Ort
    Bad Bramstedt
    Beiträge
    156

    Hi,
    nach der ersten Installation bekam ich diegleiche Fehlermeldung wie in #2. Nach auskommentieren der Zeile HMXML_DevicesCache_update(0); gibt es aber

    Warning: array_key_exists() expects parameter 2 to be array, string given in D:\IP-Symcon\scripts\hmxml.inc.php on line 266
    Abort Processing during exceed of maximal ErrorCount: array_key_exists() expects parameter 2 to be array, string given
    Error in Script D:\IP-Symcon\scripts\hmxml.inc.php on Line 266

    wobei "Warning: [...] php on line 256" 10x nacheinander auftaucht.

    wo muss ich da suchen?

    installiert ist: Dein Heizungs-Skript/System (erweitert um Profilumschaltung per Skript). HM-CC-TC, HM-CC-RT-DN

    meine PHP-Kenntnisse reichen nicht ganz zum Verstehen der Funktion HMXML_DevicesCache_Update($Cache=0)

    nette Grüße
    Sven

Ähnliche Themen

  1. Antworten: 19
    Letzter Beitrag: 06.04.16, 10:49
  2. Homematic VirtualDevices ansprechen
    Von Powerfreddy im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 19
    Letzter Beitrag: 12.09.14, 23:22
  3. Heizungssteuerung ohne Homematic Thermostat?
    Von passagier im Forum HomeMatic
    Antworten: 5
    Letzter Beitrag: 02.03.13, 18:51
  4. Heizungssteuerung mit Homematic
    Von gros_ibou im Forum HomeMatic
    Antworten: 28
    Letzter Beitrag: 13.02.13, 11:03