Mit FHEM auf einem anderen RPI GPIO schaltern ?

Begonnen von cs-online, 09 September 2018, 14:39:44

Vorheriges Thema - Nächstes Thema

cs-online

Ja, da hast du natürlich Recht, das ist beim x-mal hin und her-probieren und kopieren passiert.... Aber auch auf 0 geändert ändert das nichts... Merkwürdigerweise wird der Timer mit diesen Internals angelegt, sieht doch merkwürdig aus oder ?

COMMAND    {0 = qx 'ssh pi.168.2.21 gpio -g write 17 0'
   DEF        2019-04-23T13:01:33 {0 = qx 'ssh pi.168.2.21 gpio -g write 17 0'
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

Wernieman

Ist doch logisch, da die Variablen Ausgewertet werden .... Lies mal Deinen Code.

P.S.
Möchte auf mein Posting vor Deinen hinweisen ...
- 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

cs-online

Zitat von: Wernieman am 23 April 2019, 12:54:09
Ich würde Dir empfehlen, es nicht über FHEM zu machen, sondern direkt auf dem 2. Pi, also beim Aufruf.

Denn dann kann währen dieser Zeit die Verbindung wegbrechen, FHEM einen "§Schluckauf" bekommen und der Ausschaltbefehl kommt trotzdem durch!

Wasserhahn:.* "ssh pi@192.168.2.21 taste.sh 17"

Und auf dem Pi ein Script namens taste.sh
#!/bin/bash
PORT=$1
gpio -g write $PORT 1
sleep 10
gpio -g write $PORT 0


Kleine Ergänzungen:
- Willst Du wirklich auf JEDES Event von Wasserhahn Trickern? Kann man das nicht noch mehr einschränken?
- qx ist blockierend, Du brauchst aber in Deinem Script nicht die Rückgabewerte

Hallo, das ist ein cooler Ansatz, wäre mir auch lieber, wenn das nicht auf dem FHEM-Server laufen müßte... Hatte aber keine bessere Idee, muss ich zugeben...

Wo packe ich das Script denn auf dem zweiten Raspi hin ? Und mich würde auch trotzdem (weil ich das ja auch mal lernen möchte) wissen, wie das mit dem Timer richtig gegangen wäre...
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

Otto123

Ja wie auch immer, Du bekommst in keiner Variante eigentlich den Wert nach wert3 zurück, da Du ein externes at aufrufst. Also zumindest fällt mir da nix ein.
Mach es so wie Werner vorgeschlagen hat!

Wenn Du die Rückmeldung von deinem Pi zero haben willst, ginge es hiermit.
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

cs-online

nee, Rückmeldung brauche ich nicht, aber das war halt so, wie du mir das mal geschrieben hast und im "normalen" Aufruf hat das ja auch geklappt...
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

Otto123

#20
Zitat von: cs-online am 23 April 2019, 13:01:09
Hallo, das ist ein cooler Ansatz, wäre mir auch lieber, wenn das nicht auf dem FHEM-Server laufen müßte... Hatte aber keine bessere Idee, muss ich zugeben...

Wo packe ich das Script denn auf dem zweiten Raspi hin ? Und mich würde auch trotzdem (weil ich das ja auch mal lernen möchte) wissen, wie das mit dem Timer richtig gegangen wäre...
das Script einfach ins /home/pi auf dem Pi zero
So sollte das mit deinem Timer gehen:
fhem("define tmp at +00:00:10 {qx 'ssh pi@192.168.2.21 gpio -g write 17 0'}")

Und eigentlich auch so (ohne den Perl Umweg) direkt in fhem:
Wasserhahn:.* "ssh pi@192.168.2.21 gpio -g write 17 1";sleep 10;"ssh pi@192.168.2.21 gpio -g write 17 0"

FHEM setzt diese Kombination sleep 10;"ssh pi@192.168.2.21 gpio -g write 17 0" so um, wie Du es gemacht hast. :D

Gruß Otto
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

cs-online

Erstmal danke (bevor ich es vergesse) !

Das Script habe ich nach home/pi geschoben und mit Recht 777 also für alle User berechtigt. Muss ich das noch ausführbar machen ? Ich bekomme nämlich trotzdem diesen Fehler

bash: taste.sh: Kommando nicht gefunden.

und blockiert sleep nicht den FHEM-Server ?
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

Otto123

#22
Die Rechte sind egal, Du bist pi!
Entweder chmod +x taste.sh
oder den Aufruf ändern (mach ich immer)
bash taste.sh
Zitatund blockiert sleep nicht den FHEM-Server ?
ein fhem sleep mit einem Befehl danach blockiert nicht. Perl sleep blockiert.
Ein sleep im bash Script welches mit "script.sh" aufgerufen wird blockiert auch nicht.

Gruß Otto
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

cs-online

Jau, Ihr seid spitze !!!! Und ich hab wieder was gelernt.


Daaaaaanke :-)
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

Christoph Morrison

Mal 'ne blöde Frage: Warum installierst du dir auf deinem Gewächshaus-Pi nicht doch auch FHEM und schaltest die GPIO darüber? Dann kannst du dort auch z.B. MQTT komfortabel nutzen um den Einschaltbefehl von deinem Haupt-FHEM zu übertragen.

Hätte dir fast alle Probleme hier im Thread erspart (und wird dir vermutlich weitere Probleme ersparen).

cs-online

Ja, war zwischendurch auch mal ein Gedanke, aber da das nur ein ZeroW ist, wollte ich den nicht unbedingt überfrachten... und wenn das so funktioniert, dann reicht mir das völlig aus :-)
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

Wernieman

Also ich kann verstehen, nicht überall FHEM drauf zu machen ....
- 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

majorshark

Ich habe auf meinem Heizungs-Pi einen schmalen MQTT-Client installiert.
Damit kann man die GPIO dann lesen und schreiben. Zusätzlich kann der Client auch noch I2C. Ich meine nur Gewächshaus und Temperatur ...
Funktioniert bei mir absolut zuverlässig.
https://github.com/flyte/pi-mqtt-gpio
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

cs-online

FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

cs-online

Hallo zusammen,

ich bräuchte nochmal eure Hilfe zu diesem alten Beitrag. Bis zum Ende des letzten Gartenjahres lief das alles toll. Nun heute wieder im Gewächshaus angeklemmt, bekomme ich immer diese Einträge im Log:

2022.05.26 17:13:34 5: Triggering Gewaechshaus_Wasserhahn
2022.05.26 17:13:34 4: Gewaechshaus_Wasserhahn exec "ssh pi@192.168.2.21 bash taste.sh 17"

Host key verification failed.


ich habe bereits den Inhalt der known_hosts gelöscht, mittels ssh PI@192.168.2.21 wieder den Host eintragen lassen, nach Ottos Anleitung unter https://heinz-otto.blogspot.com/2017/01/per-ssh-remote-befehle-direkt-ausfuhren.html
das dort abgearbeitet, Google rauf und runter, ich kann auf dem FHEM-Server im Terminal  ssh pi@192.168.2.21 bash taste.sh 17 aufrufen, es funktioniert, auch nun ohne PW-Eingabe, aber im FHEM halt eben nicht. Ich habe auch das .ssh Verzeichnis von PI nach OPT/FHEM kopiert, Rechte vergeben, komm da auch als PI rein. Und nun weiß ich wirklich nicht mehr weiter als absoluter Nerd in Sachen Linux... Könnt Ihr mir bitte einen Tipp geben ?

Grüße

Christian
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr