Datei aus einem 2.ten RPi auslesen. Geht das ?

Moderatoren: seppy, udo1toni

Benutzeravatar
peter-pan
Beiträge: 2564
Registriert: 28. Nov 2018 12:03
Answers: 25
Wohnort: Schwäbisch Gmünd

Datei aus einem 2.ten RPi auslesen. Geht das ?

Beitrag von peter-pan »

Hallo Zusammen.
Ich habe zwei RPi's im Netzwerk laufen. Auf dem Ersten ist OH2.5.M2 installiert.
Auf dem Zweiten läuft das Standard-System von Raspberry als "kleine" Büroanwendung.

Kann ich aus OH heraus eine Datei auf dem zweiten RPi auslesen und als String anzeigen lassen? (genauer gesagt: "/sys/class/thermal/thermal_zone0/temp")

Freue mich über jede Antwort.
Gruss,
Peter
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.1 openhabian

Benutzeravatar
webguards
Beiträge: 56
Registriert: 5. Jun 2018 17:06

Re: Datei aus einem 2.ten RPi auslesen. Geht das ?

Beitrag von webguards »

Meine Lösung wäre ein BASH-Dienst, welcher die Daten ausliest und via MQTT sendet.
oder SAMBA-Freigabe für den Ordner und den beim anderen PI einhängen.

Ich tendiere zu MQTT-Lösung
=== Das Kuriose an SMARTHOME, man wird nie fertig ;) ===

Thin Client HP als Multifunktionsserver (Docker) | 2x Echo Dot als SST und TTS | Fritzbox | FritzDect | KODI MediaCenter | Samsung TV und Samsung HTS | fireTV via adb | CasaControl mit 20 Aktoren via EXEC | Xiaomi Gateway mit mehrere Tür- und Temperatursensoren | Broadlink RM PRO | 80% regelbasiert Automatisiert

Benutzeravatar
peter-pan
Beiträge: 2564
Registriert: 28. Nov 2018 12:03
Answers: 25
Wohnort: Schwäbisch Gmünd

Re: Datei aus einem 2.ten RPi auslesen. Geht das ?

Beitrag von peter-pan »

webguards hat geschrieben: 23. Aug 2019 11:58 Meine Lösung wäre ein BASH-Dienst, welcher die Daten ausliest und via MQTT sendet.
oder SAMBA-Freigabe für den Ordner und den beim anderen PI einhängen.

Ich tendiere zu MQTT-Lösung
Das hört sich toll an, aber leider verstehe ich nur Bahnhof :oops: .
Ich weiss gerade mal, dass ich so ein Samba-Dingsda auf meinem Pi (OH) habe und dass ich dadurch von meinem Windows-Rechner per Explorer auf den Pi gucken kann.
Ausserdem weiss ich noch dass ich Mosquitto auf meinem OH-Pi laufen habe, der für meine Sonoffs zuständig ist.
Das ist aber auch schon alles. Man darf von einem alten Mann, der jetzt ein neues Spielzeug (Hobby) hat, nicht allzu viel erwarten. In meinem früheren Leben war ich Buchhalter/Controller und kenne mich EDV-technisch gerade mal mit ein paar Excel-Funktionen und natürlich weiß ich auch wo der Einschalter von meinem Rechner ist :lol: :?: :!: .
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.1 openhabian

Benutzeravatar
webguards
Beiträge: 56
Registriert: 5. Jun 2018 17:06

Re: Datei aus einem 2.ten RPi auslesen. Geht das ?

Beitrag von webguards »

Das wird schwierig :x

Keine Ahnung von Console via SSH?
=== Das Kuriose an SMARTHOME, man wird nie fertig ;) ===

Thin Client HP als Multifunktionsserver (Docker) | 2x Echo Dot als SST und TTS | Fritzbox | FritzDect | KODI MediaCenter | Samsung TV und Samsung HTS | fireTV via adb | CasaControl mit 20 Aktoren via EXEC | Xiaomi Gateway mit mehrere Tür- und Temperatursensoren | Broadlink RM PRO | 80% regelbasiert Automatisiert

Benutzeravatar
peter-pan
Beiträge: 2564
Registriert: 28. Nov 2018 12:03
Answers: 25
Wohnort: Schwäbisch Gmünd

Re: Datei aus einem 2.ten RPi auslesen. Geht das ?

Beitrag von peter-pan »

Putty hab ich. (An beiden Pi's).
putty.jpg
ls -alF geht auch. :) . Mit openhab-cli console, sudo systemctl start/stop/restart openhab2, sudo shutdown kann ich grad noch umgehen.
Aber dann :?:
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.1 openhabian

Benutzeravatar
udo1toni
Beiträge: 13858
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Datei aus einem 2.ten RPi auslesen. Geht das ?

Beitrag von udo1toni »

Du kannst Samba dafür nutzen, aber irgendwie ist das extrem umständlich. Letztlich musst Du ohnehin ein Script schreiben, welches die Datei regelmäßig überträgt.
Es gibt verschiedene Möglichkeiten, das Problem zu lösen.

eine Variante wäre, ein Script zu schreiben, welches auf dem 2. Raspberry läuft und in regelmäßigen Abständen die Datei per http an openHAB schickt. Dazu brauchst Du nur curl auf dem Raspberry.
  • In openHAB legst Du ein Item für die Temperatur an.
  • Anschließend gehst Du in die REST API Dokumentation und suchst Dir den Befehl heraus, mit dem Du einem Item einen Wert zuweisen kannst. Dort trägst Du den Namen des Items ein und probierst den Befehl aus. Du erhältst zusätzlich zum gesetzten Item einen curl Aufruf.
  • Den kopierst Du auf den 2. Raspberry in ein Bash Script.
  • Anschließend passt Du den curl-Aufruf dahingehend an, dass er nun den Inhalt Deiner Datei sendet.
  • Das fertige Script speicherst Du an einem passenden Ort.
  • Dann legst Du mittels sudo crontab -e einen Job an, der minütlich Dein Script startet.
Alternativ kannst Du auch ein kleines Python Script verwenden, welches dann auf dem 2. Raspberry läuft und den gleichen Job erledigt. Die Übertragung kann man natürlich auch mittels MQTT erledigen, für Python gibt es eine Bibliothek, die es komfortabel macht, mit ienem MQTT Broker zu kommunizieren. Ich habe selbst solche Scripte im Einsatz, allerdings bin ich grade nicht zuhause (erst Montag wieder).

Die erste Variante ist extrem simpel zu realisieren, allerdings wird das Script maximal minütlich aufgerufen, wenn Du mehrere Messungen pro Minute haben willst, muss das Bash Script entsprechend mehrere Updates senden und zwischendurch mittels sleep warten. Im Gegensatz zu openHAB ist das in einem Bash Script aber ok...
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Benutzeravatar
peter-pan
Beiträge: 2564
Registriert: 28. Nov 2018 12:03
Answers: 25
Wohnort: Schwäbisch Gmünd

Re: Datei aus einem 2.ten RPi auslesen. Geht das ?

Beitrag von peter-pan »

@udo1toni

Zuerst mal Danke für deine Ausführungen.
Ich werde mal versuchen damit klar zu kommen. (Aber du weisst ja, von andern Posts, dass ich gerne mal "von hinten durch die Brust ins Auge" denke und handle ;) :lol: , so sind sie halt die Buchhalter)

Gruss,
Peter

P.S.: Das Probieren muss aber noch ein bisschen warten, muss jetzt Rasen mähen (Anweisung von meiner Chefin :roll: )
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.1 openhabian

eiGelbGeek
Beiträge: 226
Registriert: 11. Aug 2019 06:39
Answers: 4

Re: Datei aus einem 2.ten RPi auslesen. Geht das ?

Beitrag von eiGelbGeek »

MQTT Binding und dann vom Pi via Bash Script

Ich z.b. polle die CPU Temperaturen nach Openhab mit folgenden Script auf den RPi's

Code: Alles auswählen

sudo nano /usr/local/mqtt_rpi/mqtt_rpi_temperature.sh

Code: Alles auswählen

#!/bin/bash

mqtt_broker_ip="xxx.xxx.xxx.xxx"
mqtt_broker_port="1883"
mqtt_topic="/broker/topic/rpi/temp/"
mqtt_item="RPi_temperature"

Temperature=$(/opt/vc/bin/vcgencmd measure_temp | awk -F "=" '{print $2}' | awk -F "\'" '{print $1}' 2>/dev/null)
mosquitto_pub -h $mqtt_broker_ip -p $mqtt_broker_port -t $mqtt_topic$mqtt_item/status -m $Temperature
Rechte setzen

Code: Alles auswählen

sudo chmod u+x /usr/local/mqtt_rpi/mqtt_rpi_temperature.sh
Cronjob

Code: Alles auswählen

sudo crontab -e

Code: Alles auswählen

0-59/5 * * * * bash /usr/local/mqtt_rpi/mqtt_rpi_temperature.sh >/dev/null 2>&1

Das kann man bestimmt noch optimieren ... ich mache 2 mal awk um nicht benötige Zeichen zu löschen .... das geht bestimmt auch in einen Aufruf ... aber so what ;-) Das zweite awk ist das entfernen des °C ... könnte man auch drin lassen, aber dann hätte man in OH einen String und keine Number ... eine Number kann man natürlich besser verarbeiten in einer Rule ... z.b. Temp über 70 Grad send Telegramm über 80 Grad sudo shutdown -h now

Item

Code: Alles auswählen

Number RPi_temperature "RPi Temperatur [%s °C] " { channel="mqtt:topic:rpi:RPi_temperature" }
Thing

Code: Alles auswählen

Thing mqtt:topic:rpi "MQTT - RPi - Daten" (mqtt:broker:rpi) {
    Channels:
        Type number : RPi_temperature "RPi Temperatur" [ stateTopic="/broker/topic/rpi/temp/RPi_temperature/status" ]
}

Benutzeravatar
peter-pan
Beiträge: 2564
Registriert: 28. Nov 2018 12:03
Answers: 25
Wohnort: Schwäbisch Gmünd

Re: Datei aus einem 2.ten RPi auslesen. Geht das ?

Beitrag von peter-pan »

Supi @eiGelbGeek!! Danke für deinen Tipp. Werde ich mal versuchen in den nächsten Tagen umzusetzen. Habe MQTT vor 1 1/2 Wochen von Version 1.x auf 2.x umgestellt. Das sollte dann ja auch klappen.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.1 openhabian

eiGelbGeek
Beiträge: 226
Registriert: 11. Aug 2019 06:39
Answers: 4

Re: Datei aus einem 2.ten RPi auslesen. Geht das ?

Beitrag von eiGelbGeek »

Sollten Probleme auftreten, weißte ja wo mich findest :mrgreen:

Antworten