(Gelöst) Curl und HMLAN Disconnected

Begonnen von SamNitro, 21 August 2017, 17:16:40

Vorheriges Thema - Nächstes Thema

SamNitro

Hallo, wusste nicht in welchem Bereich ich posten sollte, Sorry...

Habe einen umstieg hinter mir vom Rpi2-->Rpi3

jetzt habe ich ein problem wenn Fhem nach updates prüft das sich mein HMLAN kurz verabschiedet
Hier mein CustomReading:
defmod Update.Counter CustomReadings
attr Update.Counter event-on-update-reading FHEM,FTUI,ALL
attr Update.Counter interval 3600
attr Update.Counter readingDefinitions FHEM:qx(curl -sS http://fhem.de/fhemupdate/controls_fhem.txt| diff - /opt/fhem/FHEM/controls_fhem.txt |grep ">"|grep "UPD"|wc -l), FTUI:qx(wget -qO - https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt| diff - /opt/fhem/FHEM/controls_fhemtabletui.txt |grep ">" |grep "UPD"|wc -l), ALL:{ReadingsNum($name, "FHEM", 0) + ReadingsNum($name, "FTUI", 0)},fhem_text:qx(curl -sS http://fhem.de/fhemupdate/controls_fhem.txt| diff - /opt/fhem/FHEM/controls_fhem.txt  |grep "> UPD" ), ftui_text:qx(wget -qO - https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt| diff - /opt/fhem/FHEM/controls_fhemtabletui.txt |grep "> UPD")
attr Update.Counter room System
attr Update.Counter stateFormat ALL


und hier die Fehlermeldung die nach dem eingestellten Intervall kommt:
2017.08.21 17:11:20 1: 192.168.1.77:2001 disconnected, waiting to reappear (LGW:keepAlive)
2017.08.21 17:11:20 1: 192.168.1.77:2000 disconnected, waiting to reappear (LGW)
2017.08.21 17:11:20 3: Opening LGW:keepAlive device 192.168.1.77:2001
2017.08.21 17:11:20 1: 192.168.1.77:2000 reappeared (LGW)
2017.08.21 17:11:20 3: LGW:keepAlive device opened
2017.08.21 17:11:20 3: HMUARTLGW LGW BidCoS-port opened
2017.08.21 17:11:20 3: HMUARTLGW LGW:keepAlive KeepAlive-port opened


Sende ich den Befehl
{ FHEM:qx(curl -sS http://fhem.de/fhemupdate/controls_fhem.txt| diff - /opt/fhem/FHEM/controls_fhem.txt |grep ">"|grep "UPD"|wc -l) }
alleine, kommt folgende Fehlermeldung:
HMUARTLGW LGW:keepAlive KeepAlive sent 4.354s too late, this might cause a disconnect!
Auf dem Alten System war der Fehler nicht, aber da ich die Update Funktion copy and past habe finde ich keine Lösung.
Kann da jemand helfen?
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

amenomade

M.W. macht qx ein blocking call => Fhem ist dann blockiert, und kann vermutlich das keepalive von HMUART nicht rechtzeitig senden/bearbeiten.

Warum auch immer, ist ein qx Befehl langsamer auf dem neuen Rechner.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

SamNitro

Da ist das neue debian Stretch drauf. Und die curl Version ist neuer als bei Jessie evtl verschlimm-bessert


Kann man downgraden?
Oder ich gehe wieder auf Jessie


Gesendet von iPhone mit Tapatalk
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

amenomade

Oder Du packst deine curl und wget Abfragen in einem externen Shellskript, der dann die readings per "perl fhem.pl localhost:7072 'setreading device reading value'" (oder sogar mit curl über die fhemweb url) selbst aktualisierst. Somit hast Du kein Blockingcall mehr und dein fhem ist sauber (blocking call ist immer schlecht)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

SamNitro

Ich glaube das überfordert mich dann etwas :/


Gesendet von iPhone mit Tapatalk
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

SamNitro

(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

amenomade

Ja, könnte ich gerne.
Guck mal erstmal, ob die Befehle eins zu eins in einem Terminal aufführbar sind, dir eine Antwort liefern, und dir die Kontrolle am Ende zurückgeben. Poste mal ggf. dein ganzes Terminal Auszug.
(der letzte wird wahrscheinlich erstmal einen Fehler liefern)

curl -sS http://fhem.de/fhemupdate/controls_fhem.txt| diff - /opt/fhem/FHEM/controls_fhem.txt |grep ">"|grep "UPD"|wc -l

wget -qO - https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt| diff - /opt/fhem/FHEM/controls_fhemtabletui.txt |grep ">" |grep "UPD"|wc -l

curl -sS http://fhem.de/fhemupdate/controls_fhem.txt| diff - /opt/fhem/FHEM/controls_fhem.txt  |grep "> UPD"

wget -qO - https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt| diff - /opt/fhem/FHEM/controls_fhemtabletui.txt |grep "> UPD"

perl fhem.pl localhost:7072 'setreading Update.Counter FHEM 0'
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

SamNitro

#7
pi@raspberrypi:~ $ curl -sS http://fhem.de/fhemupdate/controls_fhem.txt| diff - /opt/fhem/FHEM/controls_fhem.txt |grep ">"|grep "UPD"|wc -l
0
pi@raspberrypi:~ $


pi@raspberrypi:~ $ wget -qO - https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt| diff - /opt/fhem/FHEM/controls_fhemtabletui.txt |grep ">" |grep "UPD"|wc -l
0
pi@raspberrypi:~ $


pi@raspberrypi:~ $ curl -sS http://fhem.de/fhemupdate/controls_fhem.txt| diff - /opt/fhem/FHEM/controls_fhem.txt  |grep "> UPD"
pi@raspberrypi:~ $


pi@raspberrypi:~ $ wget -qO - https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt| diff - /opt/fhem/FHEM/controls_fhemtabletui.txt |grep "> UPD"
pi@raspberrypi:~ $


pi@raspberrypi:/opt/fhem $ perl fhem.pl localhost:7072 'setreading Update.Counter FHEM 0'
pi@raspberrypi:/opt/fhem $

hier musste ich ins fhem Verzeichnis wechseln
bei den letzten 3 kommt einfach nix...
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

SamNitro

#8
Habe hier im forum eine angepasste version gefunden ohne wget...
braucht man das nicht?!?

FHEM:qx(curl -sS http://fhem.de/fhemupdate/controls_fhem.txt| diff - /opt/fhem/FHEM/controls_fhem.txt |grep ">"|grep "UPD"|wc -l),FTUI:qx(curl -sS https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt| diff - /opt/fhem/FHEM/controls_fhemtabletui.txt |grep ">" |grep "UPD"|wc -l),ALL:{ReadingsNum($name, "FHEM", 0) + ReadingsNum($name, "FTUI", 0)}


EDIT: ach für meine Listenansicht.
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

amenomade

Das würde bedeuten, dass Du komplett up to date bist. Ist es der Fall? Liefert ein "update check" im FHEMWEB Eingabefeld auch kein Ergebnis?

Evl. probier mal wieder nach dem Nacht update. Da sollten einige Modulen eingecheckt worden sein.

Und wurde auch das Reading FHEM vom Device Update.Coutner aktualisiert? (auf 0 gesetzt) Evtl. mit einem anderen Wert probieren, wenn es schon auf 0 stand.

Wenn ja, dann kannst Du:
- eine neue Datei in /opt/fhem mit Name updatecheck.sh kreieren
#!/bin/bash
updatesfhem=$(curl -sS http://fhem.de/fhemupdate/controls_fhem.txt| diff - /opt/fhem/FHEM/controls_fhem.txt |grep ">"|grep "UPD"|wc -l)
updatesftui=$(wget -qO - https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt| diff - /opt/fhem/FHEM/controls_fhemtabletui.txt |grep ">" |grep "UPD"|wc -l)
updatesall=$(($updatesfhem + $updatesftui))
perl fhem.pl localhost:7072 "setreading Update.Counter FHEM $updatesfhem; setreading Update.Counter FTUI $updatesftui; setreading Update.Counter ALL $updatesall"

Dann testen, ob es geht mit
./updatecheck.sh
Brauchst Du auch wirklich die fhem_text und ftui_text Readings? Die hab ich auf die schnelle nicht geschaft, und muss ein bisschen experimentieren



Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

SamNitro

Zitat von: amenomade am 23 August 2017, 01:24:27
Das würde bedeuten, dass Du komplett up to date bist. Ist es der Fall?
Ja bin auf dem neuesten stand!

ZitatUnd wurde auch das Reading FHEM vom Device Update.Coutner aktualisiert?
Ja hat auch funktioniert :)

ZitatDann testen, ob es geht mit
Code: [Auswählen]
./updatecheck.sh
sudo: ./updatecheck.sh: Befehl nicht gefunden
ich konnte das Script mit "sudo sh updatecheck.sh" starten

ERGEBNIS: Erfolgreich, in Fhem
Readings
ALL            0         2017-08-23 04:22:47
FHEM           0         2017-08-23 04:22:47
FTUI          0         2017-08-23 04:22:47
fhem_text             2017-08-23 03:59:56
ftui_text               2017-08-23 03:59:56
state         OK       2017-08-23 03:59:56

Wie man an den Zeiten erkennent.

Ja der text währe schon cool weil ich es auf meinem Wand Tablet anzeige im TabletUi

Gruß
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

amenomade

Zitatsudo: ./updatecheck.sh: Befehl nicht gefunden
ich konnte das Script mit "sudo sh updatecheck.sh" starten
Dann mach zuerst:
sudo chmod +x updatecheck.sh
Und dann NUR
./updatecheck.shohne sudo.


Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

SamNitro

Ok werde ich heute Nachmittag testen. Wie starte ich das dann? Aus fhem raus oder vom rpi selbst?

Und wäre super wenn du bei Gelegenheit den Text noch einbinden kannst :)


Gesendet von iPhone mit Tapatalk
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

amenomade

Vom RPI selbst zum testen. Danach packen wir das in einem regelmässigen CronJob
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Wernieman

Nor mal eine Anmerkung:
Da Du dieses Script schon mal als root (sudo) gestartet hast, könntest Du vorher prüfen, ob die Berechtigungen der Dateien stimmen?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html