Einen Dummy in meine Funktion integrieren!

Begonnen von vw2audi, 18 Februar 2019, 00:42:35

Vorheriges Thema - Nächstes Thema

vw2audi

Hallo Gemeinde,

ich möchte gerne in meine Funktion einen Dummy integrieren, dieser wird durch einen Helligkeitswert auf on bzw. off getriggert.
Also, wenn es dunkel ist is der
dummy "Dunkelheit" auf "on"
bei Helligkeit ider der
dummy "Dunkelheit" auf "off"

Disen Dummy versuche ich jetzt in meine Routine für die Bewegungsmelder mit einzubauen, da diese nur bei Dunkelheit funktionieren sollen:

Hardware: Sonoff RFBridge und PIR2 Bewegungsmelder.

PIR_Melder:RfRaw_Data.* {
my $data = (
    '281818190819090909081818',
);
if ($EVTPART7 =~ m/$data/i) {fhem('set Aussenstrahler on; set StrahlerParkplatz on');;}
}
Fhem auf Raspberry PI3, sonoff: RFBridge, PIR, Basic, POW, Dual.... , FS20: FHT 80TF-2 (3x); FS20-Piri2 (1x)
S300TH (1x); FS20-ST (6x); FS20-SU (3x); FS20 WS1 (2x); Fritz: DECT200 (3x), Z-Wave: diverse Schalter.... , HomeMatic: Heizungsregler

CoolTux


if ( Value('Dunkelheit') eq 'on' )


Einfach mit einbauen.
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

vw2audi

Herzlichen Dank für die Hilfe, es hat funktioniert. Hatte es erst an der falschen Stelle eingebaut.

Der Vollständigkeit halber:

define PIR_Melder_3_Raw notify PIR_Melder:RfRaw_Data.* {\
my $data = (\
    '281818190819090909081818',\
);;\
if ($EVTPART7 =~ m/$data/i && Value('Dunkelheit') eq 'on' ) {fhem('set Aussenstrahler on;; set StrahlerParkplatz on;; set PIR_Melder_03 on-for-timer 30');;;;}\
}

Da ich mehrere Bewegungsmelder habe wäre es klasse, wenn ich bei my $data die Übertragungscodes der anderen gleich mit erschlagen könnte, hat dazu noch jemand eine Idee?

Fhem auf Raspberry PI3, sonoff: RFBridge, PIR, Basic, POW, Dual.... , FS20: FHT 80TF-2 (3x); FS20-Piri2 (1x)
S300TH (1x); FS20-ST (6x); FS20-SU (3x); FS20 WS1 (2x); Fritz: DECT200 (3x), Z-Wave: diverse Schalter.... , HomeMatic: Heizungsregler

vw2audi

Das Reading für den 2. Bewegungsmelder in der RF Bridge sieht, wie folgt aus:
{"RfRaw":{"Data":"AA B1 03 04D8 0186 3048 28181819081909090909081908181819081908181818181909 55"}}

Also würde ich versuchen, das er auch auf den Data Wert
    '28181819081909090909081908181',\

reagiert.

aber einfach mit in die my data schreiben funktioniert leider nicht.
Fhem auf Raspberry PI3, sonoff: RFBridge, PIR, Basic, POW, Dual.... , FS20: FHT 80TF-2 (3x); FS20-Piri2 (1x)
S300TH (1x); FS20-ST (6x); FS20-SU (3x); FS20 WS1 (2x); Fritz: DECT200 (3x), Z-Wave: diverse Schalter.... , HomeMatic: Heizungsregler

CoolTux

Verwende mal bitte Codetags, so sieht man das alles schlecht.
Einfach oben im Forum Editor auf die Route drücken und da Einen Code dann einschließen.
Und ich würde versuchen da einen vernünftigen Wert als Reading zu bauen. Dieser Zahlencode ist ja mega Unsinn.
Gib mal bitte ein List des Devices.
Oben in FHEMWEB in der Kommandozeile list DEVICENAME eingeben.
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

vw2audi

Hallo CoolTux,

danke für deinen Hinweis, hier einmal das List für mein PIR_Melder device, es ist die RFBridge von Sonoff, an der alle PIR Melder angemeldet sind.


Internals:
   FUUID      5c56293d-f33f-4a07-8528-7371d782045fd815
   IODev      Mosquitto
   NAME       PIR_Melder
   NR         753
   STATE      incoming publish received
   TYPE       MQTT_DEVICE
   READINGS:
     2019-02-19 11:25:16   RfRaw_Data      AA B1 03 04E2 017C 3052 28181819081909090909081908181819081908181818181909 55
     2019-02-18 23:56:25   RfReceived_Data 15216318
     2019-02-18 23:56:25   RfReceived_High 1180
     2019-02-18 23:56:25   RfReceived_Low  390
     2019-02-18 23:56:25   RfReceived_RfKey None
     2019-02-18 23:56:25   RfReceived_Sync 12420
     2019-02-19 11:25:16   Sensor          {"RfRaw":{"Data":"AA B1 03 04E2 017C 3052 28181819081909090909081908181819081908181818181909 55"}}
     2019-02-19 11:25:16   transmission-state incoming publish received
   message_ids:
   sets:
   subscribe:
     tele/RFBridge/RESULT
   subscribeExpr:
     ^tele\/RFBridge\/RESULT$
   subscribeQos:
     tele/RFBridge/RESULT 0
   subscribeReadings:
     tele/RFBridge/RESULT:
       cmd       
       name       Sensor
Attributes:
   IODev      Mosquitto
   alias      Sonoff RF Bridge
   group      RF Bridge
   room       MQTT
   stateFormat transmission-state
   subscribeReading_Sensor tele/RFBridge/RESULT



Fhem auf Raspberry PI3, sonoff: RFBridge, PIR, Basic, POW, Dual.... , FS20: FHT 80TF-2 (3x); FS20-Piri2 (1x)
S300TH (1x); FS20-ST (6x); FS20-SU (3x); FS20 WS1 (2x); Fritz: DECT200 (3x), Z-Wave: diverse Schalter.... , HomeMatic: Heizungsregler

CoolTux

Und das MQTT_DEVICE meldet Dir Werte von mehreren Sensoren ooder bildet dieses Device wirklich nur einen Sensor ab?
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

vw2audi

richtig, es werden durch dieses Modul mehrere Devices empfangen.
Fhem auf Raspberry PI3, sonoff: RFBridge, PIR, Basic, POW, Dual.... , FS20: FHT 80TF-2 (3x); FS20-Piri2 (1x)
S300TH (1x); FS20-ST (6x); FS20-SU (3x); FS20 WS1 (2x); Fritz: DECT200 (3x), Z-Wave: diverse Schalter.... , HomeMatic: Heizungsregler

CoolTux

Dann empfehle ich erstmal zu schauen ob das Modul die Möglichkeit bietet diese mehrere Geräte von Haus aus als Readings zu setzen. Kann mir nicht vorstellen daß das so gedacht ist wie es jetzt läuft.

Am besten dafür ein extra Thread im Forum vom Modul auf machen.

Bis dahin kannst Du mit userReadings arbeiten.
Anscheinend ist der sehr String der entscheidende, richtig?
28181819081909090909081908181819081908181818181909

Ist der bei allen Bewegungsmeldern unterschiedlich und eindeutig?
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

Beta-User

Dieses etwas "unverdauliche" Verhalten zeigen leider auch einige ähnliche Projekte (gibt's mit RFID, WLAN/MAC, IR...).

Es gibt da zwei Möglichkeiten:
- Entweder die firmware so modifizieren, dass der zu einem physischen Gerät gehörende Teil als letzter Teil des Topic-Strings verwendet wird (hatte ich für RFID mal vorgeschlagen, da wäre es vergleichsweise einfach gewesen), oder
- Eine eigene Auswertelogik (Perl) bauen, die dann aufgerufen wird (das müßte auch mit den alten MQTT -Modulen gehen, helfen könnte ich nur bei MQTT2_DEVICE, was insbesondere auch json2nameValue() nutzen kann). Die muß dann die Identifizierung des "eigentlichen" Geräts leisten können, um dann den eigentlichen Inhalt als richtig benamstes Reading ablegen zu können...

Aufwändig...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors