Hauptmenü

httpmod

Begonnen von Lichti, 09 Dezember 2023, 19:14:48

Vorheriges Thema - Nächstes Thema

Lichti

Ich möchte mit HTTPMOd die Leistung aus meinem Tasmota Zählerinterface auslesen.

Der Auschnitt aus dem Quelltext der Seite:
</tr><tr><th>SML Leistung_Summe </th><td style="width:20px;white-space:nowrap">426.82 W</td></tr><

Probiert habe ich u.A.:

define bitShake HTTPMOD http://192.168.178.66 120
 attr bitShake enableControlSet 1
 attr bitShake timeout 30
 attr bitShake reading01Name Strom
 attr bitShake reading01Regex (?s)Leistung_Summe.*?(\d+)

Ich bekomme aber kein Reading.
Was mache ich falsch ?

betateilchen

Zitat von: Lichti am 09 Dezember 2023, 19:14:48Was mache ich falsch ?

  • falsches Unterforum für Fragen zu HTTPMOD
  • keine code-Tags verwendet
  • keine Information darüber, ob Du schon geprüft hast, ob der Inhalt der Webseite identisch ist mit dem Inhalt, der in HTTPMOD ankommt
  • vermutlich falsche Regex
  • ...

Was kannst Du tun:

  • diesen Thread in das richtige Unterforum verschieben (Button zum Verschieben unten links)
  • nach dem Verschieben die regex Leistung_Summe.*>(\d+.\d+).W ausprobieren

Vermutlich gibt es aber ohnehin einfachere Wege, Werte aus Tasmota zu bekommen, anstatt die per HTTPMOD zu extrahieren.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Lichti

    falsches Unterforum für Fragen zu HTTPMOD
    > ich hoffe, das ist jetzt besser :-)
   
    keine Information darüber, ob Du schon geprüft hast, ob der Inhalt der Webseite identisch ist mit dem Inhalt, der  in HTTPMOD ankommt
    > wie macht mas das ?
   
    vermutlich falsche Regex
    nach dem Verschieben die regex Leistung_Summe.*>(\d+.\d+).W ausprobieren
    > auch kein Reading

betateilchen

Zitat von: Lichti am 10 Dezember 2023, 10:22:53keine Information darüber, ob Du schon geprüft hast, ob der Inhalt der Webseite identisch ist mit dem Inhalt, der  in HTTPMOD ankommt
    > wie macht mas das ?

Z.B. könnte man - wenn man die Doku zu HTTPMOD mal gelesen hat - das Attribut "showBody" setzen, dann steht die HTML-Antwort des Abrufs in den INTERNALS Deines HTTPMOD-devices.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

satprofi

FHEM kann doch Tasmota selbst auslesen, warum nicht dieser Weg?
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

betateilchen

Zitat von: satprofi am 10 Dezember 2023, 10:59:02FHEM kann doch Tasmota selbst auslesen, warum nicht dieser Weg?

Vermutlich zu einfach...

Zitat von: betateilchen am 09 Dezember 2023, 19:29:46[Vermutlich gibt es aber ohnehin einfachere Wege, Werte aus Tasmota zu bekommen, anstatt die per HTTPMOD zu extrahieren.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Lichti

#6
Hab schon versucht Tasmota über MQTT auszulesen.
Nach der Konfiguration in Tasmota hat sich aber das System verabschiedet.
Muss jetzt erst malschauen, das ich Tasmota wieder zum Laufen bekomme.

Oder gibt es noch einen andern weg ?

------

Tasmota läuft wieder.
Unter Internals - httpbody sind keine Daten

efyzz

Moin,

ich hatte denselben Wunsch, und zwar aus folgendem Grund: Ich empfange zwar alle Readings des Tasmota-Device über MQTT im Minuten-Takt, wollte jedoch die aktuelle Leistung auch in "Echtzeit" in FHEM haben, ohne dass das Log damit zugemüllt wird. Also hole ich mir jetzt die Leistung(en) zusätzlich per HTTPMOD im 5s-Takt:

defmod Tasmota_Echtzeit HTTPMOD http://192.168.1.239/cm?cmnd=STATUS+8 5
attr Tasmota_Echtzeit reading01Name Power_1
attr Tasmota_Echtzeit reading01Regex "Power":\[\s*(\d+)
attr Tasmota_Echtzeit reading02Name Power_2
attr Tasmota_Echtzeit reading02Regex "Power":\[\s*\d+,\s*(\d+)

Vielleicht kann's noch jemand gebrauchen ;)
RaspberryPi3B, Bookworm Lite
Homematic Funkmodul HM-MOD-RPI-PCB
------------------------------------------------------------------------
Ich bin kein Programmierer ... aber ich weiß, auf welcher Seite der Lötkolben heiß ist.