Hallo,
ZitatKonfiguration zum Definieren eines Set-Befehls und zum Senden von Daten an ein Gerät
Wenn eine Set-Option durch Attribute definiert ist, verwendet das Modul den dem Befehl set angegebenen Wert und übersetzt ihn in eine HTTP-Anfrage, die den Wert an das Gerät sendet.
Hab mich bisher nur wenig mit HTTPMOD beschäftigt, wenn ich an das Gerät aber gar nichts senden möchte, nur einen setter definieren der mir den angegeben Wert in ein Reading schreibt, ist das auch möglich ?
Klar ist das ich mit setreading auch zum Ziel komme, ich hätt aber gerne nach Möglichkeit einen setter.
Mit einfach nur der Angabe des Attributs set01Name klappts schonmal nicht
attr <devicename> set01Name number
Gruß
Thomas
Hmmm, bei mir funktioniert das genau so.
Im benannten Attribut den Namen hinterlegen und dann ist der Setter da. Beim Betätigen des selben wird ein entsprechendes Event gefeuert.
attr h set01Name number
set h number 12
2021-02-11 13:58:33 HTTPMOD h number 12
Gruß
Dan
Schon, ist bei mir auch so, aber ich will ein Reading number erhalten mit dem angegebenen Wert, das wird nicht erzeugt.
edit:
ein zusätzliches notify das mit setreading den Wert setzt würd ich gerne vermeiden
Bin auch nicht so der HTTPMOD Profi, aber auf das Event könnte man mit einem notify reagieren und entsprechenden Code ausführen.
Gruß
Dan
Ja ist klar, war gerade oben nochmal am editieren, trotzdem Danke.
Probier mal zusätzlich
attr h set01Temp 1
Gruss
Stefan
Super Info! Damit funktioniert es tatsächlich!
Schade dass man das nicht in der commandref findet.
Gruß
Dan
Danke.
Hat mich aber dem Verständnis von notify etwas weiter gebracht, war erst der Meinung mehrere notify zu brauchen (für mehrere Devices), mit einem hätt ich mich anfreunden können.
Das kann ich mir jetzt ja sparen:
(hmod_sq_1|hmod_sq_2|hmod_sq_3|hmod_sq_4|hmod_sq_5|hmod_sq_6|hmod_sq_7|hmod_sq_8|hmod_sq_9):(number|willi).* setreading $NAME $EVTPART0 $EVTPART1
Zitat von: TomLee am 11 Februar 2021, 21:34:05
Danke.
Hat mich aber dem Verständnis von notify etwas weiter gebracht, war erst der Meinung mehrere notify zu brauchen (für mehrere Devices), mit einem hätt ich mich anfreunden können.
Das kann ich mir jetzt ja sparen:
(hmod_sq_1|hmod_sq_2|hmod_sq_3|hmod_sq_4|hmod_sq_5|hmod_sq_6|hmod_sq_7|hmod_sq_8|hmod_sq_9):(number|willi).* setreading $NAME $EVTPART0 $EVTPART1
Ich glaube so wäre es auch kürzer gegangen:
(hmod_sq_[1-9]):(number|willi).* setreading $NAME $EVTPART0 $EVTPART1
ist aber nun überflüssig. ;)
Gruß
Dan
Nee, geht nicht.
Da stehen in Wirklichkeit aber auch keine Zahlen hinter hmod_sq_ sondern beliebige Namen.
Hab mal zwei Devices umbenannt in hmod_sq_1 und hmod_sq_2:
{ notifyRegexpCheck('(hmod_sq_[1-9]):(number|willi).*') }
ergibt auch:
(hmod_sq_[1-9]):(number: no match (ignored)
willi).*: no match (ignored)
set01Temp ist noch nicht in der Commandref, weil ich das Feature erst vor kurzem nebenbei eingebaut habe und das Attribut eigentlich noch umbenennen wollte. Temp passt nicht wirklich. Vermutlich wäre set01Local passender.
Ich hoffe das ist kein Problem für Euch wenn ich das beim nächsten Update nochmal ändere ...
Gruss
Stefan
Zitat von: TomLee am 11 Februar 2021, 23:43:39
Nee, geht nicht.
Ach stimmt, im Namen selbst funktioniert kein RegEx.
Zitat von: StefanStrobel am 12 Februar 2021, 07:30:49
set01Temp ist noch nicht in der Commandref, weil ich das Feature erst vor kurzem nebenbei eingebaut habe und das Attribut eigentlich noch umbenennen wollte. Temp passt nicht wirklich. Vermutlich wäre set01Local passender.
Ich hoffe das ist kein Problem für Euch wenn ich das beim nächsten Update nochmal ändere ...
Ahhh, deshalb also. ;)
Solange es dokumentiert wird sollte das kein Problem darstellen.
Es gibt für diesen Fall, soweit ich mich recht erinnere, auch etwas in FHEM um als Entwickler Attributnamen im Modul zu konvertieren so dass es der User nicht selbst machen muss.
Gruß
Dan
Zitat von: DeeSPe am 12 Februar 2021, 10:22:51
Es gibt für diesen Fall, soweit ich mich recht erinnere, auch etwas in FHEM um als Entwickler Attributnamen im Modul zu konvertieren so dass es der User nicht selbst machen muss.
Habe es gefunden.
In dieser Form als letztes in die "sub xxx_Initialize($)":
$hash->{AttrRenameMap} = { "set01Temp" => "set01Local" };
$hash->{AttrRenameMap} = { "set02Temp" => "set02Local" };
$hash->{AttrRenameMap} = { "set03Temp" => "set03Local" };
Gruß
Dan
Steh etwas auf dem Schlauch, aber auch noch nicht näher mit beschäftigt, seit update und dem neuen Attribut setxxLocal (auf das ich alle Devices umgestellt habe) hab ich immer noch diese Meldung auf der "Hauptseite" von FHEM:
1
Messages collected while initializing FHEM:configfile: hmod_bla1: unknown attribute set01Temp. Type 'attr hmod_bla1 ?' for a detailed list.
hmod_bla1: unknown attribute set02Temp. Type 'attr hmod_bla1 ?' for a detailed list.
hmod_bla2: unknown attribute set01Temp. Type 'attr hmod_bla2 ?' for a detailed list.
hmod_bla2: unknown attribute set02Temp. Type 'attr hmod_bla2 ?' for a detailed list.
hmod_bla3: unknown attribute set01Temp. Type 'attr hmod_bla3 ?' for a detailed list.
hmod_bla3: unknown attribute set02Temp. Type 'attr hmod_bla3 ?' for a detailed list.
hmod_bla4: unknown attribute set01Temp. Type 'attr hmod_bla4 ?' for a detailed list.
hmod_bla4: unknown attribute set02Temp. Type 'attr hmod_bla4 ?' for a detailed list.
hmod_bla5: unknown attribute set01Temp. Type 'attr hmod_bla5 ?' for a detailed list.
hmod_bla5: unknown attribute set02Temp. Type 'attr hmod_bla5 ?' for a detailed list.
hmod_bla6: unknown attribute set01Temp. Type 'attr hmod_bla6 ?' for a detailed list.
hmod_bla6: unknown attribute set02Temp. Type 'attr hmod_bla6 ?' for a detailed list.
hmod_bla7: unknown attribute set01Temp. Type 'attr hmod_bla7 ?' for a detailed list.
hmod_bla7: unknown attribute set02Temp. Type 'attr hmod_bla7 ?' for a detailed list.
hmod_bla8: unknown attribute set01Temp. Type 'attr hmod_bla8 ?' for a detailed list.
hmod_bla8: unknown attribute set02Temp. Type 'attr hmod_bla8 ?' for a detailed list.
hmod_bla9: unknown attribute set01Temp. Type 'attr hmod_bla9 ?' for a detailed list.
hmod_bla9: unknown attribute set02Temp. Type 'attr hmod_bla9 ?' for a detailed list.
Es gibt kein vergebenes Attribut setxxTemp mehr in den Geräten, die fhem.cfg hab ich durchsucht mit keinem Ergebnis, Neustart hab ich auch schon gemacht.
Was kanns noch sein ?
Seltsam.
Was siehst Du denn im Log wenn Du Fhem startest?
Gruss
Stefan
Alles gut, die Meldung ist jetzt weg noch nochmaligem restart, irgendwas muss wohl beim ersten mal schiefgelaufen sein.
Trotzdem Danke.