Autor Thema: Neue Version von HTTPMOD mit neuen Features zum Testen  (Gelesen 75550 mal)

Online frank

  • Hero Member
  • *****
  • Beiträge: 6777
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #15 am: 08 Dezember 2015, 00:15:54 »
Zitat
Damit sollte es auch mit einem alten Perl wieder klappen
danke stefan, läuft weiterhin bestens.
FHEM: 5.8(SVN) => Pi3(jessie)
IO: CUL433_V3.3(1.00.01B53)|CUL868_V3.3(1.58)|HMLAN(0.965)|HMUSB2(0.967)|HMUART(1.4.1)
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500

Offline nesges

  • Sr. Member
  • ****
  • Beiträge: 768
    • FTUI Live Demo
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #16 am: 08 Dezember 2015, 10:13:20 »
Nochmals Danke, funktioniert nach erstem Test einwandfrei. Nur eine Kleinigkeit:

2015.12.08 10:08:03 1: PERL WARNING: Use of uninitialized value $matchlist[0] in join or string at ./FHEM/98_HTTPMOD.pm line 1045.
2015.12.08 10:08:03 1: PERL WARNING: Use of uninitialized value $val in concatenation (.) or string at ./FHEM/98_HTTPMOD.pm line 1105.

Offline BKSolo

  • Jr. Member
  • **
  • Beiträge: 66
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #17 am: 08 Dezember 2015, 14:00:38 »
Hallo,
Zitat
....ich habe eine neue Version im ersten Post angehängt.

Ich habe auf meinem "Raspberry 2 produktiv" das neuste HTTPMOD geladen und den von mir früher beschriebenen neuen Alpha 2 Code ins config geladen.

Startet jetzt ohne Nachfrage von fehlenden Modulen und läuft gut.

Besten Dank
Raspberry PI 2/3 - CUL-433(V3) - CUL-868 (V3) - Jeelink 868 - 433 S/E Eigenbau
TX29DTH-IT - FHT80B - FHT80TF - FS20KSE
FHEMobile 3.7r803 - Fhem2Fhem - Alpha2 - OZW672 - TelegramBot

Offline eppi

  • Full Member
  • ***
  • Beiträge: 341
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #18 am: 08 Dezember 2015, 20:41:04 »
@eppi: In Deiner Konfiguration fehlt die Parse-Anweisung. Entweder mit Regexes oder JSON
(z.B. attr Harasse1 ExtractAllJSON 1)
Hallo Stefan
Besten Dank für deinen Hinweis! Ich habe mittlerweile das power Reading und kann die Daten entsprechend auswerten. Ich habe dazu noch 2 Fragen:

Wie kann ich mein zweites Reading "relay" mit HTTPMOD als Reading haben?
Einfach das attr Harasse1 get02Name relay hinzufügen funktioniert nicht.

Wie kann ich die Set Befehle um das Relay zu schalten einbauen?

Sorry, aber ich blicke da noch nicht durch..
Viele Grüsse & Danke - Dani
HM, FS20, CUL, CUNO V1, CUNO V2, HMLAN, FHT, S555, SIS-PM, IT, OWFS,  DebianWheezy@ODROID-U3

Offline StefanStrobel

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 981
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #19 am: 10 Dezember 2015, 21:09:57 »
Hallo Dani,

das relay ist bei extractAllJSON nicht erschienen, weil noch ein Bug im HTTPMOD war. Ich habe gerade eine neue Version im ersten Post angehängt. Jetzt sollte es klappen.
Zudem habe ich das Attribut von ExtractAllJSON auf extractAllJSON umbenannt, da alle anderen Attribute ebenfalls mit kleinen Buchstaben beginnen.

Für den Set Befehl musst Du herausfinden, was Dein Gerät für einen HTTP-Request zum Ändern eines Wertes erwartet und ob eine Authentisierung nötig ist. Ich würde das mit der Burp-Suite aufzeichnen und ansehen. Dann musst Du Header und ggf. Post-Daten mit set01... Attributen definieren. Am besten schaust Du Dir den Wiki-Artikel dazu an. Der beschreibt zwar noch nicht die neue Version, aber das mit Set sollte so wie bisher funktionieren.

Gruss
    Stefan

Offline eppi

  • Full Member
  • ***
  • Beiträge: 341
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #20 am: 11 Dezember 2015, 06:06:27 »
Hallo Stefan
Herzlichen Dank für den tollen Support. Könntest du noch die neue Version hochladen? Aktuelle ist keine mehr verfügbar.

Vielen Dank und Gruss Dani
HM, FS20, CUL, CUNO V1, CUNO V2, HMLAN, FHT, S555, SIS-PM, IT, OWFS,  DebianWheezy@ODROID-U3

Offline StefanStrobel

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 981
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #21 am: 11 Dezember 2015, 08:04:24 »
Sorry - jetzt ist sie wieder da.

Gruss
    Stefan

Offline eppi

  • Full Member
  • ***
  • Beiträge: 341
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #22 am: 11 Dezember 2015, 17:13:04 »
Hi Stefan
Es kommt eine Fehlermeldung, dass das Modul nicht geladen werden kann. Ich glaube am Schluss der .pm Datei fehlen noch ein paar Zeichen/Zeilen.
Kannst du bitte mal schauen?

Danke vielmals und viele Grüsse Dani
HM, FS20, CUL, CUNO V1, CUNO V2, HMLAN, FHT, S555, SIS-PM, IT, OWFS,  DebianWheezy@ODROID-U3

Offline StefanStrobel

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 981
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #23 am: 11 Dezember 2015, 17:19:19 »
Seltsam.
Wurde wohl beim upload abgeschnitten.
Jetzt hab ichs nochmal hochgeladen.

Gruss
    Stefan

Offline eppi

  • Full Member
  • ***
  • Beiträge: 341
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #24 am: 11 Dezember 2015, 18:44:03 »
Hallo Stefan
Besten Dank, das Module funktioniert nun, auch werden bei mir nun alle readings angezeigt!

Ich habe noch eine Verständnisfrage:
Ich schalte meinen Switch ein mit
http://192.168.2.123/relay?state=1&und aus mit:
http://192.168.2.123/relay?state=0&
Ich habe versucht die Set Parameter wie folgt zu definieren:
attr Harasse1 set01Data state=1&
attr Harasse1 set01Name on
attr Harasse1 set01Data state=1&
attr Harasse1 set01URL http://192.168.2.123/relay?
attr Harasse1 set02Data state=0&
attr Harasse1 set02Name off

Da ich der Meinung bin, dass sich der set Befehl zusammensetzt aus der set01URL und set01Data. Dabei bekomme ich jedoch immer die Fehlermeldung "no value given to set on"

Hast du noch einen Tipp für mich?
Danke für deine Geduld und viele Grüsse Dani
HM, FS20, CUL, CUNO V1, CUNO V2, HMLAN, FHT, S555, SIS-PM, IT, OWFS,  DebianWheezy@ODROID-U3

Offline StefanStrobel

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 981
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #25 am: 12 Dezember 2015, 11:41:20 »
Hallo,

HTTPMOD geht bei einem normalen Set davon aus, dass ein Parameter einen Wert bekommt.
In Deinem Beispiel also set Harasse1 power 0 oder set Harasse1 power 1.
Nach einem Parameter wird also zunächst ein numerischer Wert erwartet.
Mit einer Map kann man dann on auf 1 und off auf 0 Mappen

In Deinem Beispiel wäre das:
attr Harasse1 set01URL http://192.168.2.123/relay?
attr Harasse1 set01Name power
attr Harasse1 set01Data state=$val&
attr Harasse1 set01Map 0:off, 1:on

Wenn Du zwei separate sets für on und off definieren möchtest, die keine Werte bekommen geht das auch.
Dann müsstest Du aber zusätzlich das Attribut set01NoArg und set02NoArg setzen.

Gruss
    Stefan


Offline eppi

  • Full Member
  • ***
  • Beiträge: 341
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #26 am: 12 Dezember 2015, 18:27:25 »
Hallo Stefan
Besten Dank für deine Geduld und Tipps! Ich tue mich sehr schwer damit, die Attribute deines genialen Moduls zu verstehen.
Meine Definition sieht auktuell so aus:
define Harasse1 HTTPMOD http://192.168.2.123/report 600
attr Harasse1 userattr extractAllJSON get01Name getHeader1 getHeader2 getURL set01Data set01Map set01Name set01URL set02Data set02Name set02URL setHeader01 setHeader03 setHeader1 setHeader2 stateFormat verbose
attr Harasse1 extractAllJSON 1
attr Harasse1 getHeader1 Content-Type: application/json
attr Harasse1 getHeader2 Accept: */*
attr Harasse1 getURL http://192.168.2.123/report
attr Harasse1 room 1_Favoriten
attr Harasse1 set01Data state=$val&
attr Harasse1 set01Map 0:off, 1:on
attr Harasse1 set01Name relay
attr Harasse1 set01URL http://192.168.2.123/relay?
attr Harasse1 stateFormat {sprintf("%.1f",ReadingsVal("Harasse1","power",0))}
attr Harasse1 verbose 5

Im List des Device sehe ich auch, dass das set Komando richtig zusammengesetzt ankommt, jedoch antwortet HTTPMOD mit einem:
HTTP/1.1 405 Method Not Allowed Content-Type: text/html Connection: close Date: Sat, 12 Dec 2015 17:20:46 GMT Content-Length: 108 <HTML><HEAD> <TITLE>405 Method Not Allowed</TITLE> </HEAD><BODY> <H1>Method Not Allowed</H1> </BODY></HTML>Ich habe schon erfolglos folgende Attribute versucht:
attr Harasse1 setHeader01 Content-Type: application/x-www-form-urlencoded
attr Harasse1 setHeader02 Accept: */*

Hast du mir nochmals einen Tipp?
Danke für deine Zeit und viele Grüsse Dani
HM, FS20, CUL, CUNO V1, CUNO V2, HMLAN, FHT, S555, SIS-PM, IT, OWFS,  DebianWheezy@ODROID-U3

Offline StefanStrobel

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 981
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #27 am: 13 Dezember 2015, 20:41:32 »
Hallo,

wenn Du set01Data angibst, werden die angegebenen Daten in einem HTTP POST gesendet.
Dein Gerät scheint die Daten aber als Query-String in der URL zu erwarten.
Statt set01Data solltest Du die URL so ändern:

attr Harasse1 set01URL http://192.168.2.123/relay?state=$val&

Dann wird das ganze als HTTP GET geschickt.

Gruss
    Stefan

Offline eppi

  • Full Member
  • ***
  • Beiträge: 341
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #28 am: 14 Dezember 2015, 19:52:45 »
Danke vielmals Stefan! Alles funktioniert perfekt. Danke für den super Support!
Gruss Dani
HM, FS20, CUL, CUNO V1, CUNO V2, HMLAN, FHT, S555, SIS-PM, IT, OWFS,  DebianWheezy@ODROID-U3

Offline highTower.su

  • Newbie
  • Beiträge: 2
Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Antwort #29 am: 22 Dezember 2015, 00:01:20 »
Hi,

ich habe das Modul mit JSON ausprobiert, jedoch stürzt FHEM im längeren Betrieb mit folgender Meldung ab:

':' expected, at character offset 4 (before "}") at ./FHEM/98_HTTPMOD.pm line 948.
Meine Konfiguration:

#define flurlicht_unten HTTPMOD http://rpi-server2.w...u/mode.php?format=json 10
#attr flurlicht_unten userattr devStateIcon event-on-change-reading extractAllJSON set01Map set01Name set01URL stateFormat webCmd
#attr flurlicht_unten alias LED Streifen Flur
#attr flurlicht_unten event-on-change-reading .*
#attr flurlicht_unten extractAllJSON 1
#attr flurlicht_unten group Licht
#attr flurlicht_unten room hall
#attr flurlicht_unten set01Map 0:off, 1:regenbogenlauf, 2:regenbogen, 3:pixel, 4:codered, 5:blaulicht, 6:warmwhite, 7:white
#attr flurlicht_unten set01Name mode
#attr flurlicht_unten set01URL http://rpi-server2.w...u/mode.php?format=json&mode=$val
#attr flurlicht_unten stateFormat current-mode

Aber der Weg ist der richtige, es funktionierte sonst ganz gut...

Viele Grüße,

highTower

 

decade-submarginal