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?
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.
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
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)
Ich glaube das überfordert mich dann etwas :/
Gesendet von iPhone mit Tapatalk
Könntest du mir dabei helfen?
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@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...
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.
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
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ß
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.sh
ohne sudo.
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
Vom RPI selbst zum testen. Danach packen wir das in einem regelmässigen CronJob
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?
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
Zitat von: amenomade am 23 August 2017, 09:01:55
Dann mach zuerst:
sudo chmod +x updatecheck.sh
Und dann NUR
./updatecheck.sh
ohne sudo.
Läuft jetzt auch,
und stehen 9 updates für fhem an.
Neee ..... die per wget runtergeldadenen Dateien gehören, wenn per sudo gestartet, root.
Dann weiß ich leider nicht was du meinst. Wie muss ich vorgehen?
Gesendet von iPhone mit Tapatalk
Sorry, habe mir erst jetzt gründlicher das Script durchgelesen ... es legt nichts im Dateisystem ab .. bist also "sauber"
Gut :)
Gesendet von iPhone mit Tapatalk
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.
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
Ich vermute der fhem Server schützt sich gegen zu vielen Anfragen.
EDIT: wobei... das ist eher eine fhem Fehlermeldung
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")
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 :(
kann es sein das er sich an den ">" aufhängt und die nicht übertragen kann?
> UPD 2017-08-22_07:45:03 207569 ./CHANGED
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
@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
WOW das überfordert mich wieder ???
und ja Passwort ist vergeben..
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 ;)
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
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.
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"
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
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
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.
Ä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
also... vermutlich ohne das "/code]" am Ende der 1. Zeile
FemBefehl="${FemBefehl}quit\n"
echo -en "${FemBefehl}" | nc -w 5 localhost 7072
Bin um halb 3 zuhause werde dann berichten
Gesendet von iPhone mit Tapatalk
Getestet und läuft :)
Danke an alle die dabei geholfen haben und ihr die Geduld hattet mit mir :)
Gesendet von iPhone mit Tapatalk