FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: SamNitro am 21 August 2017, 17:16:40

Titel: (Gelöst) Curl und HMLAN Disconnected
Beitrag von: SamNitro am 21 August 2017, 17:16:40
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?
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: amenomade am 22 August 2017, 10:53:40
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.
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: SamNitro am 22 August 2017, 11:25:51
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
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: amenomade am 22 August 2017, 12:26:35
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)
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: SamNitro am 22 August 2017, 13:14:37
Ich glaube das überfordert mich dann etwas :/


Gesendet von iPhone mit Tapatalk
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: SamNitro am 22 August 2017, 14:34:51
Könntest du mir dabei helfen?
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: amenomade am 22 August 2017, 16:32:27
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'
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: SamNitro am 22 August 2017, 17:08:03
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...
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: SamNitro am 22 August 2017, 21:14:47
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.
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: amenomade am 23 August 2017, 01:24:27
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



Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: SamNitro am 23 August 2017, 04:37:10
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ß
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: amenomade am 23 August 2017, 09:01:55
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.


Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: SamNitro am 23 August 2017, 09:05:46
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
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: amenomade am 23 August 2017, 11:45:29
Vom RPI selbst zum testen. Danach packen wir das in einem regelmässigen CronJob
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: Wernieman am 23 August 2017, 12:05:29
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?
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: SamNitro am 23 August 2017, 12:17:07
Zitat von: Wernieman am 23 August 2017, 12:05:29
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?

Die Daten sind in Fhem angekommen falls du das meinst?!



Gesendet von iPhone mit Tapatalk
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: SamNitro am 23 August 2017, 14:36:32
Zitat von: amenomade am 23 August 2017, 09:01:55
Dann mach zuerst:
sudo chmod +x updatecheck.sh
Und dann NUR
./updatecheck.shohne sudo.

Läuft jetzt auch,
und stehen 9 updates für fhem an.
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: Wernieman am 23 August 2017, 14:55:39
Neee ..... die per wget runtergeldadenen Dateien gehören, wenn per sudo gestartet, root.
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: SamNitro am 23 August 2017, 14:58:20
Dann weiß ich leider nicht was du meinst. Wie muss ich vorgehen?


Gesendet von iPhone mit Tapatalk
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: Wernieman am 23 August 2017, 15:02:30
Sorry, habe mir erst jetzt gründlicher das Script durchgelesen ... es legt nichts im Dateisystem ab .. bist also "sauber"
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: SamNitro am 23 August 2017, 15:03:33
Gut :)


Gesendet von iPhone mit Tapatalk
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: amenomade am 23 August 2017, 16:09:11
Sooo... (Mit der Hilfe von betateilchen):

#!/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"

textfhem=$(curl -sS http://fhem.de/fhemupdate/controls_fhem.txt| diff - /opt/fhem/FHEM/controls_fhem.txt  |grep "> UPD" )
echo -E setreading Update.Counter fhem_text $textfhem | sed 's/\n/ /g' | telnet localhost 7072

textftui=$(wget -qO - https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt| diff - /opt/fhem/FHEM/controls_fhemtabletui.txt |grep "> UPD")
echo -E setreading Update.Counter ftui_text $textftui | sed 's/\n/ /g' | telnet localhost 7072

Sollte gehen.

Ich muss das aber noch optimieren, da wir damit 2x das gleiche aufrufen, einmal um die Anzahl und einmal um den Text zu kriegen. Muss aber jetzt weg.
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: SamNitro am 23 August 2017, 16:22:21
Eilt ja nicht...


Aber jetzt gibt er mir eine Fehlermeldung raus:
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.



EDIT: Aber der text kommt trotzdem in Fhem an
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: amenomade am 23 August 2017, 16:32:12
Ich vermute der fhem Server schützt sich gegen zu vielen Anfragen.
EDIT: wobei... das ist eher eine fhem Fehlermeldung
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: amenomade am 23 August 2017, 17:44:32
So jetzt probier mal das (die Meldung kam von der Benutzung von telnet - war nicht schlimm, aber das hab ich geändert):
#!/bin/bash

textfhem=$(curl -sS http://fhem.de/fhemupdate/controls_fhem.txt| diff - /opt/fhem/FHEM/controls_fhem.txt  |grep "> UPD" )
updatesfhem=`echo $textfhem |grep -o "UPD" |wc -l`
textfhem=${textfhem//[$'\n']}
perl /opt/fhem/fhem.pl localhost:7072 "setreading Update.Counter FHEM $updatesfhem; setreading Update.Counter fhem_text $textfhem"

textftui=$(wget -qO - https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt| diff - /opt/fhem/FHEM/controls_fhemtabletui.txt |grep ">" |grep "UPD")
updatesftui=`echo $textftui |grep -o "UPD" |wc -l`
textftui=${textftui//[$'\n']}
perl /opt/fhem/fhem.pl localhost:7072 "setreading Update.Counter FTUI $updatesftui; setreading Update.Counter ftui_text $textftui"

updatesall=$(($updatesfhem + $updatesftui))
perl /opt/fhem/fhem.pl localhost:7072 "setreading Update.Counter ALL $updatesall"


Testen wie immer mit ./updatecheck.sh
Wenn es geht, installieren wir es in crontab, damit es jeden Tag um 9:00 Uhr läuft (mehr braucht man nw. nicht, da die eingecheckte Updates nur einmal am Nacht zur Verfügung gestellt werden - wir wollen nicht die Server von fhem.de unnötig belasten).

crontab < <(crontab -l ; echo "0 9 * *  * pi /opt/fhem/updatecheck.sh")


Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: SamNitro am 23 August 2017, 17:49:22
Hier das resultat:
pi@raspberrypi:/opt/fhem $ ./updatecheck.sh
Usage: setreading <name> <reading> <value>
where <name> is a single device name, a list separated by komma (,) or a regexp. See the devspec section in the commandref.html for details.


pi@raspberrypi:/opt/fhem $ crontab < <(crontab -l ; echo "0 9 * *  * pi /opt/fhem/updatecheck.sh")
no crontab for pi

Edit: ist aber trotzdem eingetragen
pi@raspberrypi:/opt/fhem $ crontab -l
0 9 * *  * pi /opt/fhem/updatecheck.sh



die readings kommen aber an..

Sorry für die Umstände :(
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: SamNitro am 23 August 2017, 18:07:02
kann es sein das er sich an den ">" aufhängt und die nicht übertragen kann?
> UPD 2017-08-22_07:45:03 207569 ./CHANGED
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: SamNitro am 23 August 2017, 18:31:58
Habe es am Laufen

setreading Update.Counter fhem_text $textfhem
setreading Update.Counter ftui_text  $textftui


habe ich ersetzt durch
setreading Update.Counter fhem_text FHEM$textfhem
setreading Update.Counter ftui_text  FTUI$textftui


da ist was am anfang was den stört (>), jetzt sieht das so auf dem Tablet aus:



Alles PERFEKT :D
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: Wernieman am 23 August 2017, 18:41:20
@amenomade

Ich hätte zu Deinem Script 2 Anmerkungen:

1.
Ich würde Dir empfehlen, anstatt telnet (oder fhem) nc zu verwenden.

nc kannst Du analog zu telnet, z.B.
echo -E setreading Update.Counter fhem_text $textfhem | sed 's/\n/ /g' | nc localhost 7072

Allerdings wird es schwirig, wenn bei telnet ein Passwort vergeben wurde. Aber dieses kann man auch übergeben.

2. Anstatt für jede Anfrage eine eigene Session zu fhem aufzubauen, würde ich es bündeln.
Ala:
echo -en "fhem-Befel 1\nfhem-Befehl2\nfhem-Befehl3\nquit\n | nc localhost 7072
Übrigens kann man dann auch das Passwort mit übergeben, indem es an erster Stelle gestellt wird, sofern vergeben ...

Ergebnis:
Also in Summe würde ich anstatt aller perl fhem-Aufrufe
echo -en "setreading Update.Counter FHEM $updatesfhem\nsetreading Update.Counter fhem_text $textfhem\nsetreading Update.Counter FTUI $updatesftui\nsetreading Update.Counter ftui_text $textftui\nsetreading Update.Counter ALL $updatesall\nquit" | nc -w5 localhost 7072 >/dev/null

error=$?
if [ "$error" -ne 0 ]
then
  echo "`date` : Fehler $error beim Aufruf \"$0 $@\""
  exit 1
fi


Das "-w 5" damit er max 5 sec wartet ...

Hat den Vorteil, das nur 1. Verbindung zu FHEM aufgemacht wird ... und habe Dir gleich eine Fehlerabfangroutine eingebaut ...

(P.S. Man kann es auch im perl-fhem-Aufruf zusammenfassen, hattest Du mit ";" schon gemacht)

Edit:
Die Änderung von SamNitro sind nicht drin.


Edit2:
Zur Besseren Lesbarkeit kann man den Befehl auch einzeln zusammenbauen

FemBefehl=""
FemBefehl="${FemBefehl}fhem-Befel1\n"
FemBefehl="${FemBefehl}fhem-Befel2\n"
FemBefehl="${FemBefehl}fhem-Befel3\n"
FemBefehl="${FemBefehl}quit\n"
echo -en "${FemBefehl}" | nc localhost 7072
Titel: Antw:(Gelöst) Curl und HMLAN Disconnected
Beitrag von: SamNitro am 23 August 2017, 18:58:50
WOW das überfordert mich wieder ???

und ja Passwort ist vergeben..
Titel: Antw:(Gelöst) Curl und HMLAN Disconnected
Beitrag von: amenomade am 23 August 2017, 19:01:03
Danke für die Empfehlungen.
Zitatnc kannst Du analog zu telnet, z.B.
Code: [Auswählen]

echo -E setreading Update.Counter fhem_text $textfhem | sed 's/\n/ /g' | nc localhost 7072
Telnet habe ich aber nicht mehr drinn, sondern "perl fhem.pl localholst:7072 blabla"

Zu 2. hatte ich am Anfang alles in einem Befhel: perl fhem.pl localhost:7072 befehl1;befehl2;befehl3. Nur zur bessere Lesbarkeit habe ich getrennt. Aber Du hast Recht, ich werde das wieder ändern, und dein "catch" Fehler mitnehmen.

Warum ist "nc" besser als "perl fhem.pl"? (dass nc besser als telnet ist, ist mir schon klar)

@SamNitro: mache heute Abend die Änderungen. Jetzt hab ich Elternabend in der Schule ;)
Titel: Antw:(Gelöst) Curl und HMLAN Disconnected
Beitrag von: SamNitro am 23 August 2017, 19:03:11
Zitat von: amenomade am 23 August 2017, 19:01:03
@SamNitro: mache heute Abend die Änderungen. Jetzt hab ich Elternabend in der Schule ;)

Ich danke dir vielmals
Titel: Antw:Curl und HMLAN Disconnected
Beitrag von: betateilchen am 23 August 2017, 19:08:20
Zitat von: SamNitro am 23 August 2017, 16:22:21
Aber jetzt gibt er mir eine Fehlermeldung raus:


Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.


EDIT: Aber der text kommt trotzdem in Fhem an

Da sehe ich überhaupt keine Fehlermeldung. Das sind völlig normale Konsolenausgaben. Da wird zweimal erfolgreich eine telnet Session geöffnet und am Ende wieder geschlossen.

Titel: Antw:(Gelöst) Curl und HMLAN Disconnected
Beitrag von: SamNitro am 23 August 2017, 19:13:57
Zitat von: betateilchen am 23 August 2017, 19:08:20
Da sehe ich überhaupt keine Fehlermeldung. Das sind völlig normale Konsolenausgaben. Da wird zweimal erfolgreich eine telnet Session geöffnet und am Ende wieder geschlossen.



okay gut zu wissen.

aber warum bekomme ich die Fehlermeldung oder ist das auch keine?
Usage: setreading <name> <reading> <value>
where <name> is a single device name, a list separated by komma (,) or a regexp. See the devspec section in the commandref.html for details.

wenn ich das script nehme
#!/bin/bash

textfhem=$(curl -sS http://fhem.de/fhemupdate/controls_fhem.txt| diff - /opt/fhem/FHEM/controls_fhem.txt  |grep "> UPD" )
updatesfhem=`echo $textfhem |grep -o "UPD" |wc -l`
textfhem=${textfhem//[$'\n']}
perl /opt/fhem/fhem.pl localhost:7072 "setreading Update.Counter FHEM $updatesfhem; setreading Update.Counter fhem_text $textfhem"

textftui=$(wget -qO - https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt| diff - /opt/fhem/FHEM/controls_fhemtabletui.txt |grep ">" |grep "UPD")
updatesftui=`echo $textftui |grep -o "UPD" |wc -l`
textftui=${textftui//[$'\n']}
perl /opt/fhem/fhem.pl localhost:7072 "setreading Update.Counter FTUI $updatesftui; setreading Update.Counter ftui_text $textftui"

updatesall=$(($updatesfhem + $updatesftui))
perl /opt/fhem/fhem.pl localhost:7072 "setreading Update.Counter ALL $updatesall"
Titel: Antw:(Gelöst) Curl und HMLAN Disconnected
Beitrag von: Wernieman am 23 August 2017, 19:24:45
nc ist besser als "perl fhem", da es viel schlanker ist .. und ich z.B. liebe "schlanke Programme"

"perl fhem" macht eigentlich auch nichts anderes.

P.S. wenn man ein PW vergeben hat, ist es wie folgt:
echo -en "passwort\nBefehl\nquit\n" | nc -w 5 localhost 7072

bzw. in der "Aufgeteielten Variante"
FemBefehl="Passwort\n"
FemBefehl="${FemBefehl}fhem-Befel1\n"


Es gibt sogar Prinzipiell einen 2. Grund, es funzt auch von einem fernen rechner (wenn es fhem erlaubt), ohne Installation von fhem
Titel: Antw:(Gelöst) Curl und HMLAN Disconnected
Beitrag von: amenomade am 23 August 2017, 22:44:30
Sooo... mit den Ideen und Empfehlungen von allen (danke):

#!/bin/bash
#
FemBefehl=""
textfhem=$(curl -sS http://fhem.de/fhemupdate/controls_fhem.txt| diff - /opt/fhem/FHEM/controls_fhem.txt  |grep "> UPD" )
updatesfhem=`echo $textfhem |grep -o "UPD" |wc -l`
textfhem=${textfhem//[$'\n']}
FemBefehl="${FemBefehl}setreading Update.Counter FHEM $updatesfhem\nsetreading Update.Counter fhem_text FHEM$textfhem\n"

textftui=$(wget -qO - https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt| diff - /opt/fhem/FHEM/controls_fhemtabletui.txt |grep ">" |grep "UPD")
updatesftui=`echo $textftui |grep -o "UPD" |wc -l`
textftui=${textftui//[$'\n']}
FemBefehl="${FemBefehl}setreading Update.Counter FTUI $updatesftui\nsetreading Update.Counter ftui_text FTUI$textftui\n"

updatesall=$(($updatesfhem + $updatesftui))
FemBefehl="${FemBefehl}setreading Update.Counter ALL $updatesall\n"

echo -en "${FemBefehl}" | nc localhost 7072

error=$?
if [ "$error" -ne 0 ]
then
  echo "`date` : Fehler $error beim Aufruf \"$0 $@\""
  exit 1
fi
Titel: Antw:(Gelöst) Curl und HMLAN Disconnected
Beitrag von: SamNitro am 24 August 2017, 04:26:53
Zitat von: amenomade am 23 August 2017, 22:44:30
Sooo... mit den Ideen und Empfehlungen von allen (danke):

#!/bin/bash
#
FemBefehl=""
textfhem=$(curl -sS http://fhem.de/fhemupdate/controls_fhem.txt| diff - /opt/fhem/FHEM/controls_fhem.txt  |grep "> UPD" )
updatesfhem=`echo $textfhem |grep -o "UPD" |wc -l`
textfhem=${textfhem//[$'\n']}
FemBefehl="${FemBefehl}setreading Update.Counter FHEM $updatesfhem\nsetreading Update.Counter fhem_text FHEM$textfhem\n"

textftui=$(wget -qO - https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt| diff - /opt/fhem/FHEM/controls_fhemtabletui.txt |grep ">" |grep "UPD")
updatesftui=`echo $textftui |grep -o "UPD" |wc -l`
textftui=${textftui//[$'\n']}
FemBefehl="${FemBefehl}setreading Update.Counter FTUI $updatesftui\nsetreading Update.Counter ftui_text FTUI$textftui\n"

updatesall=$(($updatesfhem + $updatesftui))
FemBefehl="${FemBefehl}setreading Update.Counter ALL $updatesall\n"

echo -en "${FemBefehl}" | nc localhost 7072

error=$?
if [ "$error" -ne 0 ]
then
  echo "`date` : Fehler $error beim Aufruf \"$0 $@\""
  exit 1
fi


Wieder mal danke für die Arbeit aber ein kleines problem gibt es noch, wenn ich das script Manuell starte beendet er die eingabe nicht von alleine.
Titel: Antw:(Gelöst) Curl und HMLAN Disconnected
Beitrag von: Wernieman am 24 August 2017, 09:43:59
Ändere mal folgende Zeile

echo -en "${FemBefehl}" | nc localhost 7072

zu folgenden

FemBefehl="${FemBefehl}quit\n"
echo -en "${FemBefehl}" | nc -w 5 localhost 7072


Edit:
Danke anamenomade  (siehe Folgepost) für das Melden eines copy&paste-Fehlers
Titel: Antw:(Gelöst) Curl und HMLAN Disconnected
Beitrag von: amenomade am 24 August 2017, 10:44:11
also... vermutlich ohne das "/code]" am Ende der 1. Zeile
FemBefehl="${FemBefehl}quit\n"
echo -en "${FemBefehl}" | nc -w 5 localhost 7072
Titel: Antw:(Gelöst) Curl und HMLAN Disconnected
Beitrag von: SamNitro am 24 August 2017, 11:15:38
Bin um halb 3 zuhause werde dann berichten


Gesendet von iPhone mit Tapatalk
Titel: Antw:(Gelöst) Curl und HMLAN Disconnected
Beitrag von: SamNitro am 24 August 2017, 14:38:09
Getestet und läuft :)
Titel: Antw:(Gelöst) Curl und HMLAN Disconnected
Beitrag von: SamNitro am 24 August 2017, 19:28:06
Danke an alle die dabei geholfen haben und ihr die Geduld hattet mit mir :)


Gesendet von iPhone mit Tapatalk