FHEM?!

Marioir
Beiträge: 1147
Registriert: Mi 24. Feb 2016, 15:36
Wohnort: Offenbach

Di 11. Aug 2020, 08:58

Pino72 hat geschrieben:
Di 16. Mai 2017, 20:01
Eine Frage hätte ich da aber noch: Kann man einen Http Befehl an den LM schicken der einen Marker ändert/toggelt?

Das ist absolut kein Problem

Hier ist alles zu dem Thema marker per http Befehl ändern beschrieben

Allerdings gilt nicht wie beim ersten Beitrag folgende Actionen

ACTION = 2 (Marker toggeln)
ACTION = 1 (Marker ein)
ACTION = 0 (Marker aus)
flo8233 hat geschrieben:
Di 11. Aug 2020, 08:10
Ich bekomme zwar befehle vom LM zu Fhem, aber hätte es gerne umgedreht auch und zwar ohne Harmony.
Auch hier gibt es ne lösung

FHEM Wiki

gucke dir das mal an, ist eigentlich ganz einfach

einfach ein Schalter definieren und dazu ein Notify erstellen.

Zb.

Schalter erstellen

Code: Alles auswählen

define mySwitch1 dummy

Code: Alles auswählen

attr mySwitch1 webCmd on:off
Notify erstellen:

Code: Alles auswählen

define html_aufruf notify my_schalter:on { GetHttpFile("192.168.xxx.xxx", "/control?key=201") }

Code: Alles auswählen

define html_aufruf notify my_schalter:off { GetHttpFile("192.168.xxx.xxx", "/control?key=202") }

/control?key=201 kann natürlich durch jeden anderen Aktor oder Szene ersetzt werden
flo8233
Beiträge: 14
Registriert: Do 29. Mär 2018, 19:54

Do 20. Aug 2020, 23:41

Danke - habs hinbekommen :-)
Marioir
Beiträge: 1147
Registriert: Mi 24. Feb 2016, 15:36
Wohnort: Offenbach

Di 5. Jan 2021, 15:18

hey Leute.
ich komme grade irgendwie nicht weiter.

Hab folgendes Problem.

Habe mir 2 Shelly HT geholt, jetzt will ich die werte per UDP an den Lightmanager senden.

Die HTs sind im FHEM über MQTT eingebunden. Werte werden mir auch in den readings angezeigt.

Code: Alles auswählen

humidity = 66.0
temperature = 17.75
Jetzt Speicher ich mir die readings mit folgenden Befehl in Variablen und setze die Werte aus den Variablen auch in Dummys, einfach um die Werte zu überprüfen
Temperatur muss x10 gerechnet werden, damit ich aus den 17,75 eine 177,5 bekomme
gerne hätte ich aus der 177,5 noch eine 177 gemacht, aber das habe ich mir noch nicht angeschaut. Der LM verarbeitet den Wert auch mit einer Nachkomma Stelle.

Code: Alles auswählen

define Wohnzimmer_HT notify HT_WZ.* {my $humidity_wz=ReadingsVal("$NAME","humidity","0");; my $temp_wz=ReadingsVal("$NAME","temperature","0")*10;; fhem("set test " . $temp_wz);; fhem("set luftfeuchte_wz " . $humidity_wz)}
Die Sache sieht jetzt so aus

dummy.JPG
dummy.JPG (12.43 KiB) 9323 mal betrachtet

Jetzt würde ich das ganze gerne alle 5 - 10 min an den Lighmanger übertragen, aber da fangen meine Probleme an

mit folgenden Befehl klappt das übertragen auch gut

Code: Alles auswählen

define temp_wz_LM at +*00:05:00 { UDP_Msg("192.168.1.26" , "30303" , "wdata,3,250,43,0,C2" )}
nur wenn ich versuche die 250 durch die Variabel $temp_wz zu ersetzen.

Code: Alles auswählen

define temp_wz_LM at +*00:05:00 { UDP_Msg("192.168.1.26" , "30303" , "wdata,4,.$temp_wz.6,50.3,0,C3" )}
Gibt es folgende Fehlermeldung

Code: Alles auswählen

Global symbol "$temp_wz" requires explicit package name at (eval 6048) line 1.
evtl kann mir hier einer den Entscheidenden Tipp geben?
Marioir
Beiträge: 1147
Registriert: Mi 24. Feb 2016, 15:36
Wohnort: Offenbach

So 10. Jan 2021, 17:09

So nach langen tüfteln, habe ich es endlich gepackt

Ich verwende jetzt für den UDP Befehl keine Variablen mehr.
Stattdessen benutze ich jetzt direkt die Readings, die mein MQQT Device erstellt

Mein AT Befehl sieht jetzt so aus

Code: Alles auswählen

define temp_wz_LM at +*00:05:00 { UDP_Msg("192.168.1.26" , "30303" , "wdata,4," . ReadingsVal("HT_WZ","temperature","0")*10 . "," .ReadingsVal("HT_WZ","humidity","0") . ",0,C3" )}
Somit sende ich alle 5 min, die Werte, an Kanal 4 mit der ID C3, an den Light Manager

Habe bisher 2 ShellyHT im Einsatz, dazu noch ein Door/Window2 der auch ein Temperatur Fühler besitzt.
Dazu verwende ich auch den oben beschriebenen Befehl, nur lass ich die Readings für die Luftfeuchtigkeit weg und ersetze sie durch 0

Code: Alles auswählen

define temp_flur_LM at +*00:05:01 { UDP_Msg("192.168.1.26" , "30303" , "wdata,3," . ReadingsVal("Tuer_Kammer","temperature","0")*10 . ",0,0,C2")}
ht.JPG
ht.JPG (22.23 KiB) 9250 mal betrachtet
Antworten