HM Status aktiv abfragen

Hallo, hab da mal eine Frage zu HM … Status Abfrage. Folgende Situation: Heute stieg, warum auch immer, erstmalig IP-Symcon auf dem RASPI aus (neueste Beta), das merkt man natürlich nicht sofort. In der Zeit wurde die Terassentür ausgestattet mit eine HM Drehgriffsensor geöffnet…war halt warm hier. Irgendwann merkt man, dass Symcon tot ist, RASpi musste rebootet werden …alles gut. Nun sollen, wenn es dunkel wird, die Rolladen runter gehen, an der Terrassenseite aber nur, wenn die Drehgriffaktuatoren auf ‚geschlossen‘ stehen…wir erinnern uns, einer Stand auf ‚offen‘, Symcon wusste das aber nicht, die Depmatic kennt allerdings den aktuellen Zustand ==> Frage: wie kann ich aktiv den HM Drehgriffstatus von IPS her erneuern ?
Gruß, Michael

Schau Mal hier:

Eventuell sind dort Anpassung nötig, da es doch etwas älter ist.
Michael

Super, das war der richtige Ansatz …hätt ich auch selbst finden können :frowning:
Klappt grundsätzlich (siehe auch Doku: HM_RequestStatus…allerdings ist das ‚break‘ in der Doku an der falschen Stelle):

<?php

$guid = "{EE4A81C6-5C90-4DB7-AD2F-F6BBD521412E}";  //guid Homematic
$alleInstanzen = IPS_GetInstanceListByModuleID($guid);
#print_r($alleInstanzen);
echo "Geräte: ".sizeof($alleInstanzen)."\n";
foreach ($alleInstanzen as $InstanceID){
    echo "InstanceID: ".$InstanceID."\n";
    echo "Name: ".IPS_GetName($InstanceID)."\n";
    echo IPS_GetProperty($InstanceID, 'Address')."\n";
    $cids = IPS_GetChildrenIDs($InstanceID);
    print_r($cids);
    foreach($cids as $cid) {
        $o = IPS_GetObject($cid);
        echo "ObjectIdent: ".$o['ObjectIdent']."\n";
        if($o['ObjectIdent'] != "") {
            if(@HM_RequestStatus($InstanceID, $o['ObjectIdent']) === false) {
                echo "Fehler: ".IPS_GetLocation($InstanceID)."\n";
                break;
            }
        }
    }
goto ende; # Test nur einer HM Instanz um Funkverkehr nicht zu belasten
}
ende:

Mich wundert nur warum er beim Objekt ‚Install_Test‘ auf einen Fehler läuft … der Status wurde bei mir auch noch nie erneuert:


Ist das normal ? Wenn ja muss ich das eben dediziert ausklammern.

Gruß, Michael

Install_test ging bei mir auch noch nie abzufragen.
Ich habe mir ein Array mit den wichtigen Idents (LEVEL, STATE etc) erstellt und nur die werden abgefragt.
Muss morgen das Script Mal raussuchen :slight_smile:
Wäre ja eventuell sogar eine nette Erweiterung für mein HomematicExtended Modul.
Michael

Ja, werd ich auch so machen, habe ein Scrpit mit Hardwaredefinitionen welches an geeigneter Stelle included wird …da hänge ich so ein Array rein.
Wäre interessant wie du es gemacht hast.
Werde nur an den kritischen Stellen (Rollade Terrassentür darf nicht zugehen wenn Fliegengitter noch offen ist oder wir draußen sitzen) jetzt aktiv den Status der betreffenden HM Instanzen abfragen … macht alles noch ein bisschen weniger fehleranfällig.

Gruß Michael

Also genau das mache ich nicht :smiley:
Okay, bei Batterie-Geräten wird da kein Funkverkehr erzeugt, aber eigentlich unnötig wenn nicht gerade mal CCU und Symcon getrennt waren und somit ein Inkonsistenter Zustand besteht.
Michael

Habe ich bisher auch nicht gemacht… aber, siehe meinen Thread von gestern (Symcon neueste Version steigt aus …HM Problem?), hatte jetzt grad die Situation, dass IPS und HM außer Tritt waren und ich das nicht mitbekommen hatte: Rolladen fuhr runter obwohl Drehgriff offen war, IPS hatte die Statusänderung nicht mit bekommen… fatal wäre es gewesen wenn die Fliegengittertür zwischen Fenster und Rollladen offen gestanden wäre, dann hätte ich im Rolladenkasten werkeln dürfen => nur für solche kritischen Fälle will ich den Request zur Aktualisierung anstoßen bevor dieser Rollladen bewegt wird.
Gruß Michael

Wollte damit eigentlich ausdrücken, das ich beim neu verbinden von IPS und CCU per Script einen konsistenten Zustand herstelle und somit eine Abfrage im laufenden Betrieb eben nicht notwendig ist.
Michael

Ok, und worauf triggert das Script? Hast du ein paar Details dazu? ( das ist für mich noch Neuland)
Gruß Michael

Im Event Control (Instanz unter Kern-Instanzen) wenn der Zustand vom Homematic-Socket sich ändern.
Michael