[Gelöst] Wenn die Akkuspannung zu niedrig ist Notify per TeleBot

Begonnen von Gear, 17 März 2018, 03:26:59

Vorheriges Thema - Nächstes Thema

Gear

Ok, ich versuche das gerade mit einem Notify an der Akkuspannung.
Ich will im DEF folgendes ablegen:
.*.MCU:.* {
if([$NAME:Akku] < 3.3)
{}
}


Bekomme aber folgende Fehlermeldung:
syntax error at (eval 2136) line 2, near "$NAME:"
syntax error at (eval 2136) line 4, near "}}"


Kannst du mir evtl sagen was ich falsch mache?
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

CoolTux

Das ist ja auch Unsinn. Ich sagte das [NAME:READING] nur innerhalb eines set Befehles geht. Nennt sich auch setmagic.

Du bist ja sogar auf Perlebene und musst dann mit den FHEM Perlfunktionen arbeiten

.*.MCU:.* {
if( ReadingsVal ($NAME,'Akku',0) < 3.3 )
{}
}
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Gear

Okey, das geht nun hab ich nochmal Google genutzt um zu schauen, wie ich ein Reading setze.

Irgendwie hilft mir da aber nichts weiter.
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

CoolTux

setreading ist der FHEM Befehl dazu.

Also wenn Du in Perl bist
fhem("setreading DEVICE READING VALUE");
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Gear

Ok, ich habe das in meinem Notify nun so gemacht:
.*.MCU:.* {
if(ReadingsVal($NAME,'Akku',0) > 3.3)
{
fhem("setreading ", $NAME ," Status Very low");
}
}


Das Notify bekommt bei seinen Reading STATE immer das aktuelle Datum und Uhrzeit, welches identisch mit der Akkuspannung ist.
Es schreibt aber den Wert nicht.
Muss das Reading Status erst gesetzt werden?
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

CoolTux

Zitat von: Gear am 17 März 2018, 22:26:02
Ok, ich habe das in meinem Notify nun so gemacht:
.*.MCU:.* {
if(ReadingsVal($NAME,'Akku',0) > 3.3)
{
fhem("setreading ", $NAME ," Status Very low");
}
}


Das Notify bekommt bei seinen Reading STATE immer das aktuelle Datum und Uhrzeit, welches identisch mit der Akkuspannung ist.
Es schreibt aber den Wert nicht.
Muss das Reading Status erst gesetzt werden?

STATE ist kein Reading sondern ein Internal. Was Du meinst ist state.

.*.MCU:.* {
if(ReadingsVal($NAME,'Akku',0) > 3.3)
{
fhem("setreading $NAME Status Very low");
}
}
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Gear

Jetzt wo du es sagt mit dem STATE und dem state, da hab ich mich vertan, du hast recht.

Achso, ich dachte das ist ein String und eine Variable die ich zusammenführen muss, nun funktioniert es! =D
Vielen Dank!!!!!!!
Was genau passiert, wenn ich ein Reading abfrage, welches nicht existiert?
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

CoolTux

Bei ReadingsVal hast du ja drei Parameter.
Erste ist Device Name zweite ist Reading Name dritte ist Default Wert. Ist kein Reading da wird der Default Wert als Value angegeben.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Gear

Okey, super!
Vielen Dank für die Hilfe und für die Geduld und die Zeit! =)
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

KernSani

Schreibst du dann noch [Gelöst] vor das Subject des ersten Posts?
Danke :-)


Kurz, weil mobil...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...