Hauptmenü

Befehl über Http senden

Begonnen von wendeling, 14 September 2021, 17:52:56

Vorheriges Thema - Nächstes Thema

wendeling

Hallo,
ich versuche gerade ein Display das an einem ESP hängt mit Daten aus FHEM zu füllen.
der grundsätzliche Befehl im Browser lautet:


http://192.168.113.71/cm/cmnd=DisplayText[z][l1c1] Text   (Browsereingabe)


Ebenfalls habe ich einen zweiten ESP mit einem Sensor über MQTT2 eingebunden. Hier wird das WasserVolumen angezeigt.
Es soll das WasserVolumen im Display angezeigt werden

Der Wassersonsor ist mit GartenTank benannt !

wie kann ich das bewerkstelligen, dass wenn sich sich das WasserVolumen ändert, das an das Display übermittelt wird ?

Danke !

mfg
Wendelin


betateilchen

Zitat von: wendeling am 14 September 2021, 17:52:56

http://192.168.113.71/cm/cmnd=DisplayText[z][l1c1] Text   (Browsereingabe)


wie kann ich das bewerkstelligen, dass wenn sich sich das WasserVolumen ändert, das an das Display übermittelt wird ?

Ein notify definieren, das auf die Wasserstandmeldung reagiert und in diesem notify die URL mit dem "Text" (Wasserstand) aufrufen.

defmod n_wasser notify GartenTank:<readingDesWasservolumens> {GetFileFromURL("http://192.168.113.71/cm/cmnd=DisplayText[z][l1c1] ".$EVENT)}
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

wendeling

#2
Hallo,
funktioniert leider nicht !?
Irgendwie reagiert das notify nicht auf das event !?
Es wird alle 10 sec. neu geschrieben.



Hier das Notify:


defmod n_wasser notify MQTT2_DVES_694411:WasserVolumen {GetFileFromURL("http://192.168.113.71/cm?cmnd=DisplayText[z][l1c1] ".$EVENT)}



Hier der Sensor:


Internals:
   CFGFN     
   CID        DVES_694411
   DEF        DVES_694411
   DEVICETOPIC MQTT2_DVES_694411
   FUUID      614048fb-f33f-8758-5f92-75954f9e0c8da59a
   IODev      myBroker
   LASTInputDev myBroker
   MSGCNT     3562
   NAME       MQTT2_DVES_694411
   NR         1002786
   STATE      -213 Liter
   TYPE       MQTT2_DEVICE
   myBroker_MSGCNT 3562
   myBroker_TIME 2021-09-14 18:41:19
   .attraggr:
   .attrminint:
   .userReadings:
     HASH(0xa23a080)
   READINGS:
     2021-09-14 09:03:00   BASE            18
     2021-09-14 09:03:00   DeviceName      SP04
     2021-09-14 09:03:00   Emulation       0
     2021-09-14 09:03:00   FLAG            0
     2021-09-14 09:03:00   FriendlyName1   Tasmota
     2021-09-14 09:03:00   FriendlyName2   
     2021-09-14 09:03:00   FriendlyName3   
     2021-09-14 09:03:00   FriendlyName4   
     2021-09-14 09:03:00   FriendlyName5   
     2021-09-14 09:03:00   FriendlyName6   
     2021-09-14 09:03:00   FriendlyName7   
     2021-09-14 09:03:00   FriendlyName8   
     2021-09-14 09:03:00   GPIO_1          1
     2021-09-14 09:03:00   GPIO_10         1
     2021-09-14 09:03:00   GPIO_11         1
     2021-09-14 09:03:00   GPIO_12         1
     2021-09-14 09:03:00   GPIO_13         1
     2021-09-14 09:03:00   GPIO_14         1
     2021-09-14 09:03:00   GPIO_2          1
     2021-09-14 09:03:00   GPIO_3          1
     2021-09-14 09:03:00   GPIO_4          1
     2021-09-14 09:03:00   GPIO_5          1
     2021-09-14 09:03:00   GPIO_6          1
     2021-09-14 09:03:00   GPIO_7          1
     2021-09-14 09:03:00   GPIO_8          1
     2021-09-14 09:03:00   GPIO_9          1
     2021-09-14 09:22:49   Heap            23
     2021-09-14 09:19:14   Info1_FallbackTopic cmnd/DVES_694411_fb/
     2021-09-14 09:19:14   Info1_GroupTopic cmnd/tasmotas/
     2021-09-14 09:19:14   Info1_Module    Generic
     2021-09-14 09:19:14   Info1_Version   9.5.0(sensors)
     2021-09-14 09:19:14   Info2_Hostname  tasmota_694411-1041
     2021-09-14 09:19:14   Info2_IPAddress 192.168.113.xxx
     2021-09-14 09:19:14   Info2_WebServerMode Admin
     2021-09-14 09:19:14   Info3_RestartReason Software/System restart
     2021-09-14 09:19:14   LWT             Online
     2021-09-14 09:22:49   LoadAvg         19
     2021-09-14 09:02:45   LogHost         
     2021-09-14 09:02:45   LogPort         514
     2021-09-14 09:22:49   MqttCount       1
     2021-09-14 09:02:45   MqttLog         0
     2021-09-14 09:03:00   NAME            Generic
     2021-09-14 09:19:14   POWER           
     2021-09-14 18:41:19   SR04_Distance   107.333
     2021-09-14 09:02:45   SerialLog_2_Active 2
     2021-09-14 09:03:00   SetOption3      ON
     2021-09-14 09:22:49   Sleep           50
     2021-09-14 09:22:49   SleepMode       Dynamic
     2021-09-14 09:02:45   SysLog_0_Active 0
     2021-09-14 09:02:45   TelePeriod      10
     2021-09-14 18:41:19   Time            2021-09-14T17:41:19
     2021-09-14 09:22:49   Uptime          0T00:03:39
     2021-09-14 09:22:49   UptimeSec       219
     2021-09-14 18:41:19   WasserVolumen   -213
     2021-09-14 09:02:45   WebLog          2
     2021-09-14 09:03:00   WebPassword     ****
     2021-09-14 09:22:49   Wifi_AP         1
     2021-09-14 09:22:49   Wifi_BSSId      2C:3A:FD:97:E6:E0
     2021-09-14 09:22:49   Wifi_Channel    11
     2021-09-14 09:22:49   Wifi_Downtime   0T00:00:03
     2021-09-14 09:22:49   Wifi_LinkCount  1
     2021-09-14 09:22:49   Wifi_Mode       11n
     2021-09-14 09:22:49   Wifi_RSSI       100
     2021-09-14 09:22:49   Wifi_SSId       xxxxx
     2021-09-14 09:22:49   Wifi_Signal     -32
     2021-09-14 09:19:24   btn_1           0
     2021-09-14 09:19:24   btn_2           0
     2021-09-14 09:19:24   btn_3           0
     2021-09-14 09:19:24   btn_4           0
     2021-09-14 09:19:24   btn_5           0
     2021-09-14 09:19:24   btn_6           0
     2021-09-14 09:19:24   btn_7           0
     2021-09-14 09:19:24   btn_8           0
     2021-09-14 09:19:24   dn              SP04
     2021-09-14 09:19:24   fn_1            Tasmota
     2021-09-14 09:19:24   ft              %prefix%/%topic%/
     2021-09-14 09:19:24   hn              tasmota_694411-1041
     2021-09-14 09:19:24   if              0    2021-09-14 09:19:24   
     2021-09-14 09:19:24   lk              1
     2021-09-14 09:19:24   lt_st           0
     2021-09-14 09:19:24   mac             B4E62D694411
     2021-09-14 09:19:24   md              Generic
     2021-09-14 09:19:24   ofln            Offline
     2021-09-14 09:19:24   onln            Online
     2021-09-14 09:19:24   rl_1            0
     2021-09-14 09:19:24   rl_2            0
     2021-09-14 09:19:24   rl_3            0
     2021-09-14 09:19:24   rl_4            0
     2021-09-14 09:19:24   rl_5            0
     2021-09-14 09:19:24   rl_6            0
     2021-09-14 09:19:24   rl_7            0
     2021-09-14 09:19:24   rl_8            0
     2021-09-14 09:19:24   sho_1           0
     2021-09-14 09:19:24   sho_2           0
     2021-09-14 09:19:24   sho_3           0
     2021-09-14 09:19:24   sho_4           0
     2021-09-14 09:19:24   sn_SR04_Distance 107.807
     2021-09-14 09:19:24   sn_Time         2021-09-14T08:19:24
     2021-09-14 09:19:24   so_11           0
     2021-09-14 09:19:24   so_114          0
     2021-09-14 09:19:24   so_117          0
     2021-09-14 09:19:24   so_13           0
     2021-09-14 09:19:24   so_17           0
     2021-09-14 09:19:24   so_20           0
     2021-09-14 09:19:24   so_30           0
     2021-09-14 09:19:24   so_4            0
     2021-09-14 09:19:24   so_68           0
     2021-09-14 09:19:24   so_73           0
     2021-09-14 09:19:24   so_82           0
     2021-09-14 09:19:24   state_1         OFF
     2021-09-14 09:19:24   state_2         ON
     2021-09-14 09:19:24   state_3         TOGGLE
     2021-09-14 09:19:24   state_4         HOLD
     2021-09-14 09:19:24   sw              9.5.0
     2021-09-14 09:19:24   swc_1           -1
     2021-09-14 09:19:24   swc_2           -1
     2021-09-14 09:19:24   swc_3           -1
     2021-09-14 09:19:24   swc_4           -1
     2021-09-14 09:19:24   swc_5           -1
     2021-09-14 09:19:24   swc_6           -1
     2021-09-14 09:19:24   swc_7           -1
     2021-09-14 09:19:24   swc_8           -1
     2021-09-14 09:19:24   t               tasmota_694411
     2021-09-14 09:19:24   tp_1            cmnd
     2021-09-14 09:19:24   tp_2            stat
     2021-09-14 09:19:24   tp_3            tele
     2021-09-14 09:19:24   ty              0
     2021-09-14 09:19:24   ver             1
Attributes:
   DbLogExclude .*
   IODev      myBroker
   alias      GartenTank
   icon       sani_water_tap
   readingList ##DVES_694411:tele/tasmota_694411/LWT:.* LWT
##DVES_694411:cmnd/tasmota_694411/POWER:.* POWER
##DVES_694411:tasmota/discovery/B4E62D694411/config:.* { json2nameValue($EVENT) }
DVES_694411:tasmota/discovery/B4E62D694411/sensors:.* { json2nameValue($EVENT) }
##DVES_694411:tele/tasmota_694411/INFO1:.* { json2nameValue($EVENT) }
##DVES_694411:tele/tasmota_694411/INFO2:.* { json2nameValue($EVENT) }
##DVES_694411:tele/tasmota_694411/INFO3:.* { json2nameValue($EVENT) }
##DVES_694411:tele/tasmota_694411/STATE:.* { json2nameValue($EVENT) }
##DVES_694411:stat/tasmota_694411/RESULT:.* { json2nameValue($EVENT) }
DVES_694411:tele/tasmota_694411/SENSOR:.* { json2nameValue($EVENT) }
   room       0_Info_2,EG_Garten,MQTT2_DEVICE
   stateFormat WasserVolumen Liter
   userReadings WasserVolumen {int((ReadingsNum($name,"SR04_Distance",0)-112.3) * 43) }

betateilchen

Das sind doch simpelste FHEM-Basics...

Schau Dir im Event Monitor an, wie der event genau aussieht.
Dort kannst Du per Mausklick sogar automatisch ein passendes notify aus dem event anlegen lassen und musst danach nur noch den Ausführungsteil ergänzen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

wendeling

Hallo,
vielleicht bin ich zu blöde dafür !

folgendes sehe ich im EventMonitor :


2021-09-14 19:21:29 MQTT2_DEVICE MQTT2_DVES_694411 WasserVolumen: -173
2021-09-14 19:21:29 MQTT2_DEVICE MQTT2_DVES_B5F6E6 DisplayText: [z][l1c1]


so wie ich das sehe, wird was gesendet aber ohne Information !?

hier noch einmal mein neu generiertes Notify :


Internals:
   .COMMAND   {GetFileFromURL("http://192.168.113.71/cm?cmnd=DisplayText[z][l1c1] ".$EVENT)}
   CFGFN     
   DEF        MQTT2_DVES_694411:WasserVolumen {GetFileFromURL("http://192.168.113.71/cm?cmnd=DisplayText[z][l1c1] ".$EVENT)}
   FUUID      6140d8ef-f33f-8758-f5b5-9de0c317facf6cbb
   NAME       MQTT2_DVES_694411_notify_1
   NOTIFYDEV  MQTT2_DVES_694411
   NR         1007099
   NTFY_ORDER 50-MQTT2_DVES_694411_notify_1
   REGEXP     MQTT2_DVES_694411:WasserVolumen
   STATE      active
   TRIGGERTIME 1631640009.69308
   TYPE       notify
   .attraggr:
   .attrminint:
   Helper:
     DBLOG:
       state:
         DBL:
           TIME       1631639791.70075
           VALUE      active
   READINGS:
     2021-09-14 19:20:15   state           active

betateilchen

Zitat von: wendeling am 14 September 2021, 19:25:23
vielleicht bin ich zu blöde dafür !

Das kann ich nicht beurteilen, aber für solche Eventualitäten wurde ja extra das hier geschaffen:

Zitat von: betateilchen am 14 September 2021, 18:54:19
Schau Dir im Event Monitor an, wie der event genau aussieht.
Dort kannst Du per Mausklick sogar automatisch ein passendes notify aus dem event anlegen lassen

Mach das doch einfach mal!

Wieso heißt das device eigentlich plötzlich MQTT2_DVES_694411 wo Du doch oben geschrieben hattest

Zitat von: wendeling am 14 September 2021, 17:52:56
Der Wassersonsor ist mit GartenTank benannt !
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

wendeling

Hallo,
das war nur der alias Name , mein Fehler.

Aber ich habe es jetzt über den EventMonitor gemacht !

Das Notify reagiert auch, aber leider wird nicht das $EVENT mit gesendet , oder  warum sehe ich nur  "2021-09-14 19:21:29 MQTT2_DEVICE MQTT2_DVES_B5F6E6 DisplayText: [z][l1c1]" ?

Hier fehlt am Ende der Wert des Events !

Gruß
Wendelin



MadMax-FHEM

#7
Das was du oben gepostet hast funktioniert wirklich:
Zitat
http://192.168.113.71/cm/cmnd=DisplayText[z][l1c1] Text   (Browsereingabe)

Weil schicken tust du ja was anderes:
Zitat
GetFileFromURL("http://192.168.113.71/cm?cmnd=DisplayText[z][l1c1] ".$EVENT)
EDIT: wobei das "vernünftiger" aussieht?

Dann was ist denn: MQTT2_DVES_B5F6E6
Bzw. was verbirgt sich hinter http://192.168.113.71 ?
EDIT: das ist wohl das Display?

Soll nur dort das Reading DisplayText gesetzt werden?
Spiegelt das "nur" zurück was auf dem Display steht?

Bzw.: was ist nun was und was genau willst du?

EDIT: Hast du das notify nun per Eventmonitor angelegt? Wie wäre dann ein list davon? :)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

betateilchen

zeig doch mal das notify, das jetzt angelegt wurde.

Bei mir funktioniert das problemlos, getestet mit einem dummy, bei dem ich den Wert einfach manuell setze.


2021.09.14 19:43:02 5: Cmd: >setreading dummy_test WasserVolumen -456<
2021.09.14 19:43:02 5: Starting notify loop for dummy_test, 1 event(s), first is WasserVolumen: -456



defmod dummy_test_notify_1 notify dummy_test:WasserVolumen:.* {GetFileFromURL("http://192.168.113.71/cm?cmnd=DisplayText[z][l1c1] ".$EVENT)}


ergibt im Logfile:


2021.09.14 19:43:02 5: Cmd: >{GetFileFromURL("http://192.168.113.71/cm?cmnd=DisplayText[z][l1c1] ".$EVENT)}<
2021.09.14 19:43:02 5: HttpUtils url=http://192.168.113.71/cm?cmnd=DisplayText[z][l1c1] WasserVolumen: -456 Blocking via http


Wenn Du nur den Zahlenwert (-456) haben möchtest, kannst Du $EVENT auch durch $EVTPART1 ersetzen.


2021.09.14 19:47:56 5: Cmd: >{GetFileFromURL("http://192.168.113.71/cm?cmnd=DisplayText[z][l1c1] ".$EVTPART1)}<
2021.09.14 19:47:56 5: HttpUtils url=http://192.168.113.71/cm?cmnd=DisplayText[z][l1c1] -789 Blocking via http


Vielleicht ist das Leerzeichen zwischen c1] und dem Wert das Problem? Dann könntest Du anstatt des Leerzeichens auch &20 in der URL verwenden.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Zitat von: MadMax-FHEM am 14 September 2021, 19:48:02
Bzw.: was ist nun was und was genau willst du?

Das ist doch eigentlich alles eindeutig beschrieben?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

MadMax-FHEM

Zitat von: betateilchen am 14 September 2021, 19:51:55
Das ist doch eigentlich alles eindeutig beschrieben?
Habs ja doch schon gestrichen...
...weil noch mal gelesen und erkannt...
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

wendeling

#11
Hallo,
wir haben es geschafft!!
Es funktioniert !!


hier nun der DEF im Notify:

MQTT2_DVES_694411:WasserVolumen:.* {GetFileFromURL("http://192.168.113.71/cm?cmnd=DisplayText[l1c14]".$EVTPART1)}


Das Problem war nach dem " das Leerzeichen !
Das [z] habe ich herausgenommen , da das nur das komplette Display löscht. Ist jetzt aber nicht mehr nötig .

Vielen Dank betateilchen

Gruß
Wendelin