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

Moderatoren: seppy, udo1toni

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

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

Beitrag von peter-pan »

Klaro!! ;)

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

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

Beitrag von peter-pan »

@eiGelbGeek
Hallo Kevin,
ich habe deine SetUp benutzt und es läuft !!! Musste nur noch die Mosquitto-Clients auf dem 2ten RasPi installieren (sudo apt-get install mosquitto-clients).

Bash-Script:

Code: Alles auswählen

#!/bin/bash

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

Temperature=$(/opt/vc/bin/vcgencmd measure_temp | tr -d "a-zA-Z=' ")

# echo $Temperature

mosquitto_pub -h $mqtt_broker_ip -p $mqtt_broker_port -t $mqtt_topic$mqtt_item/status -m $Temperature # -d
Den "awk" habe ich durch "tr" ersetzt. (awk ist ja so mächtig, das war mir im Moment zu viel "Input" :roll: )

Das Thing sieht auch etwas anders aus. Ich vermute du hast Bridge und Things getrennt.

mqtt2.things

Code: Alles auswählen

//https://openhabforum.de/viewtopic.php?f=15&t=970&start=20   // from Udo
//Bridge mqtt:broker:MosquittoMqttBroker "Mosquitto MQTT Broker" @ "MQTT2" 
//       ^    ^      ^                    ^                      ^ Zeige diese Bridge auf der Unterseite "MQTT" in Paper UI Control
//       ^    ^      ^                    ^ Label der Bridge
//       ^    ^      ^ Name der Bridge
//       ^    ^ Art der Bridge
//       ^ Binding

Bridge mqtt:broker:hans "Mosquitto" [ host="localhost", port=1883, secure=false, clientID="OH2_hans" ]  
{
    Thing topic s2003 "Sonoff S20 03 RPi Office"       @ "MQTT2" {      // Steckdose zum an- und ausschalten des Raspi - ausschalten automatisch nach Shutdown + 3 Minuten mit Rule "RaspberryPi switch off after shutdown" (cpu.rules)
    Channels:
        Type switch : power     "Power "                 [ stateTopic="stat/schaltdose03/POWER", commandTopic="cmnd/schaltdose03/POWER" ]
        Type number : rssi      "WiFi Signal Strength"   [ stateTopic="tele/schaltdose03/STATE", transformationPattern="JSONPATH:$.Wifi.RSSI"]
        Type string : version   "Firmware Version    "   [ stateTopic="stat/schaltdose03/STATUS2", transformationPattern="JSONPATH:$.StatusFWR.Version"]
        Type switch : reachable "Reachable"              [ stateTopic="tele/schaltdose03/LWT",transformationPattern="MAP:reachable.map" ]
    }
...........

    Thing topic RPI2 "Raspberry Office"                @ "MQTT2" {
    Channels:
        Type number : temp        "CPU Temp.Office-RPi"  [ stateTopic="/hans/topic/rpi/temp/RPi_temperature/status"]
    }
}
cpu.items

Code: Alles auswählen

Number    RPi_temperature               "RPi Office Temperatur [%.1f °C]"  <temperature>      (Chart_Sys_Temp)  { channel="mqtt:topic:hans:RPI2:temp" }
Den Crontab-Eintrag hab ich noch nicht gemacht, da ich die "Umleitungen" nicht ganz verstehe, braucht man die bzw. was passiert, wenn ich die nicht habe ? Hab hier schon ein bisschen gelesen.

Code: Alles auswählen

2>/dev/null + >/dev/null 2>&1

eiGelbGeek
Beiträge: 180
Registriert: 11. Aug 2019 06:39
Answers: 3

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

Beitrag von eiGelbGeek »

Hier ist es relativ gut beschrieben.... allerdings in Englisch ;-)

Kurz gesagt alles was nach /dev/null umgeleitet wird wird verworfen und nicht gespeichert

https://unix.stackexchange.com/question ... tab-basics

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

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

Beitrag von peter-pan »

@eiGelbGeek
thx for answering. No matter what, I try to understand. ;) .
Es ist halt für einen "Dummy" nicht immer ganz einfach, das alles zu überschauen. Ich denk aber ich hab's so einigermassen verstanden.

Noch ne Frage!

Ich hab auch versucht das Script per "crontab -e" anzulegen. Aber das klappt nicht! D.h. es wird nicht ausgeführt. Kannst du (oder wer anders) mir sagen warum ? Hab's mit "pi" und "root" probiert:

Code: Alles auswählen

 */1 * * * *   root    bash /usr/local/mqtt_rpi/mqtt_rpi_temperature.sh
Ach noch 'ne Frage! Was bedeutet die Croneinstellung:

Code: Alles auswählen

0-59/5 * * * * 
genau ?

Ich hab's mal mit

Code: Alles auswählen

*/1 * * * * 
probiert, und jetzt bekomme ich jede Minute einen Wert.

Gruss
Peter

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

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

Beitrag von peter-pan »

So, die eine Idee von Udo habe ich nun auch umgesetzt (RestAPI). Hab mich heute Mittag hingesetzt und mich mit dem RestAPI beschäftigt. Das ging eigenlich ganz leicht (wenn man's verstanden hat).

Code: Alles auswählen

#!/bin/bash

Temperature1=$(/opt/vc/bin/vcgencmd measure_temp | tr -d "a-zA-Z=' ")

curl -X PUT --header "Content-Type: text/plain" --header "Accept: application/json" -d $Temperature1 "http://192.168.xxx.xx:8080/rest/items/RPi_temperature_1/state"
Noch den Cron-Job dazu; passt!

Wenn ich da an meine Versuche denke. Mit Exec-Binding und Scripts und USB-Stick von Fritz-Box mounten, und...und.. :shock:

eiGelbGeek
Beiträge: 180
Registriert: 11. Aug 2019 06:39
Answers: 3

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

Beitrag von eiGelbGeek »

peter-pan hat geschrieben:
27. Sep 2019 00:21
Ach noch 'ne Frage! Was bedeutet die Croneinstellung:

Code: Alles auswählen

0-59/5 * * * * 
genau ?
Alle 5 Minuten in der Zeit von Minute 0 bis 59 .... ja ehrlich gesagt ist es das selbe wie */5 * * * * ;-) Interessant ist diese Notierung eher in dieser Form

0-30/5 * * * *

Würde heissen alle 5 Minuten von xx:00 bis xx:30


Hier ein guter leicht verständlicher Crontab Generator , der auch vorhandene Crontabs auflösen kann :-)

https://crontab.guru/
Zuletzt geändert von eiGelbGeek am 1. Okt 2019 05:46, insgesamt 1-mal geändert.

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

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

Beitrag von peter-pan »

eiGelbGeek hat geschrieben:
30. Sep 2019 16:21
Hier ein guter leicht verständlicher Crontab Generator , der auch vorhandene Crontabs auflösen kann :-)

https://crontab.guru/
Danke.

Gruss - Peter

Antworten