[(Teil-)gelöst] Perl in notify - "Undefined subroutine &main::get"

Begonnen von dafosy, 04 November 2021, 21:21:30

Vorheriges Thema - Nächstes Thema

dafosy

Ich hänge hier noch.

Sagt mal, wenn folgender Link bei mir funktioniert:

http://192.168.0.5/middleware.php/data/uuid.json?operation=add&value=22

kann ich nicht ein notify erstellen, welcher alle 5min den Link erzeugt, value= ausliest und den Link absetzt? Geht das nicht simple per notify? Und alles andere eigene ich mich über die Zeit an und finde den get-Fehler vielleicht noch.

Wie würdet ihr es machen, wenn ihr an der Stelle nicht weiterkommt, bzw. der get-Fehler immernoch da ist?

/dafosy

Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

dafosy

#17
Ich habe es nun so gelöst, mittels AT:

+*00:15:00
{ use HttpUtils;;

   my $temp = ReadingsVal('Auriol_IAN_79', 'temperature', undef);;
   my $param = {
                    url        => "http://192.168.0.5/middleware.php/data/<uuid>.json?operation=add&value=". $temp
                };;
HttpUtils_NonblockingGet($param);; 
sleep 5;;
HttpUtils_Close($param);;                                                                               
}

Beta-User

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

dafosy

#19
mutmaßlich kann das sleep auch weggelassen werden... und mit Perl habe ich an sich auch keine Erfahrung... eine quasi Schnelllösung, dass mein Wille geschehe -  8)

Und den Startbetreff habe ich auf (Teil-)gelöst gesetzt

rudolfkoenig

#20
HttpUtils_Close (und damit sleep) ist ueberfluessig, wenn man im param kein keepalive spezifiziert hat.
"use HttpUtils" ist vmtl. auch ueberfluessig, da FHEMWEB (und 100+ weitere Module) das bereits erledigt haben.
ReadingsVal mit undef als default kann im Zweifel eine WARNING Zeile im Log ausloesen. Ich empfehle stattdessen "".
Das Zitat scheint aus dem FHEM-Detailansicht, DEF/modify Fenster zu stammen. Da hier alles eindeutig zum at Definition gehoert, sind die doppelten ; ueberfluessig. Im "Raw definition" oder in dem globalen Eingabefenster kann man mehrere FHEM Befehle eingeben, deswegen muss man (nur) hier mit ;; zeigen, dass es sich um ein Befehl handelt.

rudolfkoenig

Zitatmutmaßlich kann das sleep auch weggelassen werden...
Dann schliesst HttpUtils_Close die Verbindung, bevor die Daten gesendet wurden.
Am besten beide Zeilen (sleep & HttpUtils_Close) entfernen, dann wird close genau dann aufgerufen, wenn das angebracht ist.