[gelöst] Bridge disconnected

Begonnen von MarkoP, 26 August 2020, 11:15:54

Vorheriges Thema - Nächstes Thema

fiedel

Zitat von: Beta-User am 27 August 2020, 14:39:07Perl ist immer noch die Programmiersprache Perl und kein Versandunternehmen, keine Schallplatte von ...
... Zeiiiiiiiiiiiiiiiit die nieeeeeeeeeeeeeeeeee vergeht...  ;D

Zitat von: MarkoP am 28 August 2020, 10:34:42
4 Notify's weil ich theoretisch 4 Auslöser haben kann: Anwesenheit wird auf present gesetzt, Anwesenheit wird auf absent gesetzt, Nachtruhe wird auf present gesetzt und Nachtruhe wird auf absent gesetzt.
Dazu packt man alle Auslöser in ein Notify und regelt dann intern per "if" was passieren soll. Hier mal meine alte Home- Funktion die auch noch ein Dummy als Statusanzeige nutzt (der Perl- Teil wäre auch hier besser in der myUtils aufgehoben, aber das konnte ich früher noch nicht):
Haus_Status|Zirk.*|Go_Out.*|Sleep.*|Garden.* {

  my $aufruf1 = "$EVTPART0" ;
  my $aufruf2 = "$NAME" ;
  my $h_state = Value("Haus_Status") ;
  my $h_state_o = OldValue("Haus_Status") ;
    #Log 1, "Aufruf1:$aufruf1 ; Aufruf2:$aufruf2 ; h_state:$h_state ; h_state_o:$h_state_o" ;
  if ($aufruf2 eq "Zirk") {
  fhem("set Haus_Status Anwesend ; set OWA_HWR_SS_0 on ; sleep 90 ; set OWA_HWR_SS_0 off")
} ;
  if ($aufruf2 eq "Go_Out") {fhem("set Haus_Status Haus_verlassen")} ;
  if ($aufruf2 eq "Sleep") {fhem("set Haus_Status Schlafen")} ;
  if ($aufruf2 eq "Garden") {fhem("set Haus_Status Garten")} ;

  if ($aufruf1 eq "Anwesend" and $h_state_o ne "Anwesend") {
      fhem("set TTS tts :Status_Anwesend.mp3:") ;
  fhem("set FB_Control tam 1 off") ;
      Log 1, 'Haus Status -> "Anwesend", TAM ausgeschaltet' ;
     }
  if ($aufruf1 eq "Haus_verlassen" and $h_state_o ne "Haus_verlassen") {
      fhem("set Radio STOP") ;
      fhem("set TTS tts :Status_Haus_verlassen.mp3:") ;
      Log 1, 'Haus Status -> "Haus_verlassen", Tür Wählscript -> Handy, Radio aus';
    }
  if ($aufruf1 eq "Schlafen" and $h_state_o ne "Schlafen") {
      fhem("set Radio STOP") ;
      fhem("set TTS tts :Status_schlafen_gehen.mp3:") ;
  fhem("set FB_Control tam 1 on") ;
      Log 1, 'Haus Status -> "Schlafen", TAM eingeschaltet, Klingel stumm (TODO)' ;
     }
  if ($aufruf1 eq "Garten" and $h_state_o ne "Garten") {
      fhem("set Radio STOP") ;
      fhem("set TTS tts Status, bin im Garten") ;
      Log 1, 'Haus Status -> "Bin im Garten", DECT Ein, Tür -> DECT Mobilteil' ;
      system("/usr/bin/php /media/sd_intern/fhem/fritzbox_api/fritzbox_dect_on_off.php 1") ;
     }
}


Und der Dummy als List:
Internals:
   FUUID      5cc16da4-f33f-fd76-51cf-04d078d4504b625b
   NAME       Haus_Status
   NR         1088
   STATE      Anwesend
   TYPE       dummy
   READINGS:
     2020-08-30 08:43:50   state           Anwesend
Attributes:
   alias      Anwesenheit
   devStateIcon Anwesend:Haus_Status.Anwesend:Haus_verlassen Haus_verlassen:Haus_Status.Haus_verlassen:Schlafen Schlafen:Haus_Status.Schlafen:Garten Garten:Haus_Status.Garten:Anwesend
   fp_0_Hauptbildschirm 182,47,2,Haus Status,
   group      0_Status
   room       0_Überblick


Gruß
Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Beta-User

...so, jetzt hat mich das mit  PRESENCE doch interessiert in der nicht-pollenden FritzBox-Variante. Folgendes klappt:
defmod Android_Phone_presence PRESENCE event Fritzbox:mac_12_34_56_78_AB_CD:.inactive Fritzbox:mac_12_34_56_78_AB_CD:.A.*
attr Android_Phone_presence room Steuerung->Presence

setstate Android_Phone_presence present
setstate Android_Phone_presence 2020-08-30 07:22:04 .absenceThresholdCounter 0
setstate Android_Phone_presence 2020-08-30 07:22:04 .presenceThresholdCounter 0
setstate Android_Phone_presence 2020-08-30 07:49:54 model event
setstate Android_Phone_presence 2020-08-30 14:18:57 presence present
setstate Android_Phone_presence 2020-08-30 14:18:57 state present

(das Anwesenheit-Event muß man ggf. mit dem Event-Monitor auf den Hostnamen anpassen.). Und dann gibt es - Überraschung - ein entsprechendes Attribut beim ROOMMATE, in das man das eintragen kann.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

MarkoP

So, habe die beiden Shelly, Aktoren samt den UP-USB-Dosen eingebaut.
Habs erstmal zum Testen über die Shelly-App (ich weiß Cloud-basiert) geprüft.
Der Aktor selbst wird nicht geschaltet und steht so ein, dass er nach einer Trennung vom Stromnetz automatisch auf "ein" geht.
Am USB-Anschluss ist ganz normal ein USB-Kabel an einer QI-Ladeschale angesteckt, die also wie normal unter Dauerstrom steht.

Wenn jetzt ein Handy auf die Ladeschale aufgelegt wird, wird der Verbrauch von 0W auf ca. 4,5W im Mittelwert verändert.
Darauf lässt sich mit einem Notify reagieren, wobei ich noch nicht weiß wie ich als Wert >0 bei einem Notify verwenden kann. Muss ich noch nachlesen.

Zumindest über das Shelly-Modul wurde der Verbrauch auch angezeigt, will es aber noch auf MQTT2-Server anpassen.

Dies in Kombination mit der Presence-Anwesenheitskontrolle lässt mich drei Zustände für mein Dummy abbilden: Zu Hause, Schlafend und Unterwegs.
Diese Zustände kann ich dann in allen Notify's, At's und und und abfragen und/oder darauf reagieren.

P.S.
Aufgrund eines vergessenen Config-Saves musste ich heute die Notify neu schreiben und siehe da, die gleichen Notify wie Freitag funktionieren jetzt tadellos. Muss irgendwo ein minimaler Schreibfehler drin gewesen sein den ich nicht gesehen habe.
Fhem-Server läuft per Bridge mit eigener IP auf einem Docker-Container auf meinem NAS. Alle Geräte haben eine statische IP im Netzwerk und laufen im gleichen Subnetzwerk. DHCP ist deaktiviert. DNS läuft über den Router (Fritzbox Cable), alternative über Googles 8.8.8.8