Hallo zusammen,
derzeit habe ich diverse Reedkontakte (Garage, Türen etc.) per Fibaro Universalsensor über ZWave an FHEM angebunden.
Soweit so gut. Nun liegen die Universalsensoren direkt neben dem NAS mit dem ZWave Empfänger. Und weitere Sensoren sollen auch noch dazukommen.
Ich möchte gerne diese Funklösung, wo sie nicht zwingend notwendig ist, eliminieren.
Wie kann ich diese Türkontakte, Reedsensoren etc. an mein NAS am besten per USB, anschließen?
Vielen Dank schon mal für Eure Hilfe
Hmm, also: Du hast bereits Kabel von den Reed-Kontakten zum Server liegen, wenn ich das richtig verstanden habe?
Dann sollten eigentlich alle gängigen Optionen funktionieren, du brauchst ja kein Bussystem und auch keine "besondere Logik", um die Kontakte abzufragen...
Ist also eher eine Frage der Einarbeitung, des Budgets usw..
Meiden würde ich Pi-GPIO's, aber ansonsten käme v.a. 1-wire oder diverse Arduino-Lösungen (https://wiki.fhem.de/wiki/Arduino) wie HomeBrewWired, Firmata und MySensors in Frage; ich selbst würde das mit MySensors lösen, dürfte nicht besonders aufwändig sein, auch von der Programmierung (wäre ein Multi-Button-Sketch, der eben eine ganze Anzahl von Bewegungsmeldern bzw. Tür/Fensterkontakten vereint).Bei Interesse an dieser Lösung kann ich gerne zu unterstützen versuchen, du bräuchtest aber einen Arduino (wenn alle Kabel an einer Stelle zusammenlaufen, reicht ausnahmsweise einer auf für MySensors). Nano wäre ohne Erweiterungshardware für ein gutes Dutzend Kontakte tauglich; wenn du mehr brauchst: evtl. "größeres Board". Dabei beachten: mehrere der China-Clone sind über USB direkt schwerer zu handeln, das sollten dann welche mit FTDI-USB-Seriell-Wandler sein (das gilt für alle Arduino-Lösungen!).
Ja, die Kabel liegen alle beim Server.
Jetzt ist wirklich die Frage, was für Möglichkeiten der "Hartverdrahtung" gibt es und welche Vor-/Nachteile haben diese.
Ich präferiere hier eine schlanke, energiesparende Lösung ;)
...viel weniger Energie als ein Arduino Nano wird auch jede andere Lösung nicht benötigen...
sind diese hier geeignet?
https://www.amazon.de/ATmega328-V-CH340G-Board-Arduino-Welded/dp/B07DCKC3TX/ref=sr_1_2_sspa?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=arduino%2Bnano&qid=1562146566&s=gateway&sr=8-2-spons&th=1
oder würdest Du einen anderen empfehlen?
Prinzipiell ja, aber sobald du mehr wie einen am selben Linux-Rechner anschließt, ist die USB-ID nicht mehr eindeutig. Das ist die Einschränkung hinter "kompatibel"...
Der hier scheint z.B. einen "richtigen" FTDI zu nutzen (kenne den Lieferanten nicht, war nur auf die Schnelle recherchiert/überflogen):
https://www.amazon.de/AptoFun-Org-ATmega328P-FT232RL-Development-kompatibel/dp/B014TE52RS/ref=sr_1_7?keywords=arduino+nano+ftdi&qid=1562151753&s=gateway&sr=8-7
Zur Info: Lieferungen aus China kosten für "echte" ca. 4 Euro, dauern aber länger...
Eine Garantie, dass es kein Fake-FTDI ist, hast du praktisch nur, wenn du einen Originalen Nano von der arduino-foundation kaufst oder einem der großen E-Distributoren...
Hallo,
ich persönlich würde auf die MySensor Lösung setzen, da diese sehr offen ist um deine Ganzen Geräte Zentral und dezentral zu erfassen und ein LAN Gateway verwenden, da hierdurch der USB Port von der NAS Freibleibt.
Zitat von: Beta-User am 03 Juli 2019, 13:07:29
Eine Garantie, dass es kein Fake-FTDI ist, hast du praktisch nur, wenn du einen Originalen Nano von der arduino-foundation kaufst oder einem der großen E-Distributoren...
Schaut man sich etwas um, findet man aber genug aus China mit einem FTDI-Chip. Wenn er auf ein Lan Gateway geht, sollte der Chiptyp keine Rolle spielen.
Gruß
Meck
Na ja, erst ins Lan gehen, wenn direkt daneben der Server steht?
Was fakes angeht: Ich habe mind. schon 2 (aus zwei Handvoll) in der Hand gehabt, die angeblich FTDI waren. Einer davon war in einer Lieferung mit zweien, kam also zum selben Zeitpunkt aus derselben Quelle. Man kann das z.B. dadurch versuchen zu verifizieren, dass man z.B. die Serial oder den Produktnamen ändert (ich mache das mit einem Linux-Tool, FTDI bietet auch direkt ein Programm für Windo.*).
Sowas mit "Achtung, fakes im Umlauf" erwähne ich in der Regel nicht ganz ohne Grund...
Zitat von: Meck am 05 Juli 2019, 13:08:57
Hallo,
ich persönlich würde auf die MySensor Lösung setzen, da diese sehr offen ist um deine Ganzen Geräte Zentral und dezentral zu erfassen und ein LAN Gateway verwenden, da hierdurch der USB Port von der NAS Freibleibt.
Schaut man sich etwas um, findet man aber genug aus China mit einem FTDI-Chip. Wenn er auf ein Lan Gateway geht, sollte der Chiptyp keine Rolle spielen.
Gruß
Meck
ich bekomme heute wohl meinen Arduino und bin schon ganz gespannt zu testen.
Im ersten Step möchte ich gerne meine Türkontakte einbinden.
Diese würde ich erstmal, bevor ich mein bestehendes System umziehe, simulieren durch eine entsprechende Verkabelung.
Als Einsteiger: Womit sollte man, der Einfachheit halber einsteigen, wenn man das ERgebnis der Digitalen Inputs an FHEM weiterleiten will?
Firmata oder MySensors?
Mein Vorgehen wäre wie folgt:
1) Arduino IDE installieren
2) FW / Sketch installieren
3) Im Serialmonitor prüfen, ob die PINS ankommen
4) Arduino per USB an NAS anschließen
5) Arduino an VM "durchschleifen"
6) Arduino in FHEM anlegen und prüfen, ob connected
7) Die jeweiligen Eingänge (als Devices in FHEM) anlegen
Tutorials habe ich in der Form nicht gefunden, außer das, was man sich hier aus dem Forum zusammensammeln kann, oder?
Meine Anforderungen:
- Mehrere Türkontakte an Digitale Inputs anschließen und an FHEM durchrouten (ohne vorherige Datenmanipulation)
- Perspektivisch Zähler für Wasser und Strom einbinden (in regelmäßigen Abständen melden, ggf. über den DS2423 als 1-Wire?)
Zitat von: flipse am 05 Juli 2019, 13:31:47
Als Einsteiger: Womit sollte man, der Einfachheit halber einsteigen, wenn man das ERgebnis der Digitalen Inputs an FHEM weiterleiten will?
Firmata oder MySensors?
Nach meinem Verständnis:
keyValueProtocol...
(Ich habe u.a. https://wiki.fhem.de/wiki/MySensors_Starter_Guide verfaßt, und kann dir gerne auch MySensors erläutern ;) ).
Firmata kenne ich nur dem Namen nach, denke aber, dass es weniger geeignet ist, weil es die Auswertung der Pin-Zustände selbst auf den Server verlagert; das kann man mit den beiden anderen Lösungen mMn. direkter auf dem Arduino lösen.
Ich würde erst mal mit den Kontakten anfangen, da aber bitte die Pins 2+3 freihalten (die sind für Zählaufgaben besser geeignet).
Wenn du Grundlagen der Programmierung kennst, würde ich als Grundlage für den keyValueProtocol-Sketch den im MySensors-Bereich (hier im Forum) bei den "Muster-Lösungen" verlinkten Multi-Button-Relay-Sketch nehmen (der hat nur den gewaltigen Nachteil, dass dort der Code direkt eine Verbindung zwischen Taster und Relais herstellt; das brauchst du nicht, diese Teile müßten also raus...)
Oder du schaust dir mal an, ob in der bounce2()-Bibliothek ein Beispielsketch drin ist, der sollte dann auch direkt was in die Konsole werfen (das müßtest du für keyValueProtokoll nur geringfügig umbauen).
Zitat von: Beta-User am 05 Juli 2019, 14:05:38
Nach meinem Verständnis:
keyValueProtocol...
(Ich habe u.a. https://wiki.fhem.de/wiki/MySensors_Starter_Guide verfaßt, und kann dir gerne auch MySensors erläutern ;) ).
Firmata kenne ich nur dem Namen nach, denke aber, dass es weniger geeignet ist, weil es die Auswertung der Pin-Zustände selbst auf den Server verlagert; das kann man mit den beiden anderen Lösungen mMn. direkter auf dem Arduino lösen.
Ich würde erst mal mit den Kontakten anfangen, da aber bitte die Pins 2+3 freihalten (die sind für Zählaufgaben besser geeignet).
Wenn du Grundlagen der Programmierung kennst, würde ich als Grundlage für den keyValueProtocol-Sketch den im MySensors-Bereich (hier im Forum) bei den "Muster-Lösungen" verlinkten Multi-Button-Relay-Sketch nehmen (der hat nur den gewaltigen Nachteil, dass dort der Code direkt eine Verbindung zwischen Taster und Relais herstellt; das brauchst du nicht, diese Teile müßten also raus...)
Oder du schaust dir mal an, ob in der bounce2()-Bibliothek ein Beispielsketch drin ist, der sollte dann auch direkt was in die Konsole werfen (das müßtest du für keyValueProtokoll nur geringfügig umbauen).
Die Grundlagen der Programmierung sind mir denke ich bekannt. Bin aber eher im .NET Framework mit C# unterwegs. Oder eben Webseiten mit PHP.
Diese Arduino Programmierung sieht für mich ein wenig aus wie java...
Du sagst also, es ist besser, die Verarbeitung auf dem Arduino durchzuführen und dann an FHEM zu senden?
Kann FHEM denn dann noch aktiv einen Status abfragen? (PULL) oder muss FHEM immer warten, bis der Arduino eine Statusänderung meldet (bzw. zyklisch den Status schickt?)
Zum keyvalue hatte ich hier schon etwas gelesen, da hattest Du Marlene geholfen, ihre Zähler über Arduino zu realisieren.
Heißt dass, dass ich eine ConsolenAusgabe des Arudinos nach einer bestimmten Syntax durchführe und FHEM diese dann entgegennimmt?
FHEM wartet dann einfach, bis was geliefert wird. Kann man natürlich zyklisch machen (und würde ich für einen Zähler auch so implementieren, iVm. einem Interrupt-Handler auf je Pin 2 und 3); Stichwort wäre dann millis() (ist wohl unter "non-blocking loop" zu finden).
Mit dem "einfachen Lauschen" habe ich @MySensors eigentlich nur gute Erfahrungen gemacht. Das in Verbindung mit einem "heartbeat" reicht mMn. völlig, man braucht kein Pollen.
Satus von Tastern/Schaltern: tendenziell nur beim Starten und bei Änderung, aber eine optionale "get-Routine" einzubauen, wäre @MySensors gar kein Thema (würde dann aber alle Pins melden)...
"Arduino" ist afaik im Prinzip C/C++.
Zitat von: Beta-User am 05 Juli 2019, 14:51:53
FHEM wartet dann einfach, bis was geliefert wird. Kann man natürlich zyklisch machen (und würde ich für einen Zähler auch so implementieren, iVm. einem Interrupt-Handler auf je Pin 2 und 3); Stichwort wäre dann millis() (ist wohl unter "non-blocking loop" zu finden).
Mit dem "einfachen Lauschen" habe ich @MySensors eigentlich nur gute Erfahrungen gemacht. Das in Verbindung mit einem "heartbeat" reicht mMn. völlig, man braucht kein Pollen.
Satus von Tastern/Schaltern: tendenziell nur beim Starten und bei Änderung, aber eine optionale "get-Routine" einzubauen, wäre @MySensors gar kein Thema (würde dann aber alle Pins melden)...
"Arduino" ist afaik im Prinzip C/C++.
Das klingt gut. Ich würde wirklich noch versuchen eine getRoutine einzubinden (ist dann wahrscheinlich eine Methode im Sketch, die von FHEM angetriggert wird), damit aktiv die Stati abgefragt werden.
Das Thema Heartbeat ist auch irgendwo beschrieben?
Ich bin auch eher der Fan vom Push, dann werden auch nur notwendige Daten übertragen und entsprechender Traffic generiert.
Also:
Wenn du ein "get"-ähnliches Verhalten haben willst, bist du tendenziell bei MySensors. Da muß ich zugeben, das ich bisher immer einen "Transport" definiert hatte - hier haben wir es mit einem GW-only zu tun, das sollte aber auch kein Problem sein.
@MySensors gibt es im Sketch dann eine Receive-Funktion, in der man dann noch auswerten kann, welcher "Endpunkt" genau gemeint ist usw.. Am einfachsten mal die Beispielsketche bei MySensors.org (/build?) durchsehen, dort z.B. einen Relay- oder Servo-Sketch (oder den zitierten Multi-Button/Relay suchen).
Heartbeat fordert das FHEM-IO-Modul bei einem GW automatisch an, ansonsten mal die cref zu MYSENSORS_DEVICE zu Rate ziehen (oder was ich dazu bei den letzten Änderungen geschrieben hatte).
Bei normalen Nodes ist es im Prinzip eine millis()-getriggerte einzeilige Anweisung im Sketch iVm. einem Attribut am MYSENSORS_DEVICE in FHEM... "Im Prinzip" auch easy.
Hi,
ich habe nun diverse Beispiel-Sketches angeschaut und versucht selbst etwas zu programmieren, aber ich habe noch Startschwierigkeiten mit Arduino IDE.
Ich bekomme immer beim Hochladen mit Programmer eine Fehlermeldung, die leider nicht aussagekräftig ist:
Der Sketch verwendet 13676 Bytes (44%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes.
Globale Variablen verwenden 449 Bytes (21%) des dynamischen Speichers, 1599 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
Beim Hochladen des Sketches ist ein Fehler aufgetreten
Sketch
/*
* The MySensors Arduino library handles the wireless radio link and protocol
* between your home built sensors/actuators and HA controller of choice.
* The sensors forms a self healing radio network with optional repeaters. Each
* repeater and gateway builds a routing tables in EEPROM which keeps track of the
* network topology allowing messages to be routed to nodes.
*
* Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
* Copyright (C) 2013-2018 Sensnology AB
* Full contributor list: https://github.com/mysensors/MySensors/graphs/contributors
*
* Documentation: http://www.mysensors.org
* Support Forum: http://forum.mysensors.org
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
*******************************
*
* REVISION HISTORY
* Version 1.0 - Henrik Ekblad
*
* DESCRIPTION
* Example sketch showing how to control physical relays.
* This example will remember relay state after power failure.
* http://www.mysensors.org/build/relay
*/
// Enable debug prints to serial monitor
#define MY_DEBUG
// Enable and select radio type attached
#define MY_RADIO_RF24
//#define MY_RADIO_NRF5_ESB
//#define MY_RADIO_RFM69
//#define MY_RADIO_RFM95
// Enable repeater functionality for this node
#define MY_REPEATER_FEATURE
#include <MySensors.h>
#define RELAY_PIN 4 // Arduino Digital I/O pin number for first relay (second on pin+1 etc)
#define NUMBER_OF_RELAYS 1 // Total number of attached relays
#define RELAY_ON 1 // GPIO value to write to turn on attached relay
#define RELAY_OFF 0 // GPIO value to write to turn off attached relay
void before()
{
for (int sensor=1, pin=RELAY_PIN; sensor<=NUMBER_OF_RELAYS; sensor++, pin++) {
// Then set relay pins in output mode
pinMode(pin, OUTPUT);
// Set relay to last known state (using eeprom storage)
digitalWrite(pin, loadState(sensor)?RELAY_ON:RELAY_OFF);
}
}
void setup()
{
}
void presentation()
{
// Send the sketch version information to the gateway and Controller
sendSketchInfo("Relay", "1.0");
for (int sensor=1, pin=RELAY_PIN; sensor<=NUMBER_OF_RELAYS; sensor++, pin++) {
// Register all sensors to gw (they will be created as child devices)
present(sensor, S_BINARY);
}
}
void loop()
{
}
void receive(const MyMessage &message)
{
// We only expect one type of message from controller. But we better check anyway.
if (message.type==V_STATUS) {
// Change relay state
digitalWrite(message.sensor-1+RELAY_PIN, message.getBool()?RELAY_ON:RELAY_OFF);
// Store state in eeprom
saveState(message.sensor, message.getBool());
// Write some debug info
Serial.print("Incoming change for sensor:");
Serial.print(message.sensor);
Serial.print(", New status: ");
Serial.println(message.getBool());
}
}
Als Programmer ist standardmäßig noch AVRISP mll ausgewählt
Klicke ich einfach nur auf hochladen erhalte ich folgendes:
Der Sketch verwendet 13676 Bytes (44%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes.
Globale Variablen verwenden 449 Bytes (21%) des dynamischen Speichers, 1599 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
ok, Auswahl "OLD BOOTLOADER" hat funktioniert
Da du nur einen Arduino hast (?) und keinen nRF24 oder anderen Transceiver dran, mußt du das als GW nutzen.
Auf die Schnelle habe ich das auf Basis deines Codes mal zum GW gemacht. Der folgende Code läßt sich kompilieren, mehr habe ich nicht getestet. Du mußt den Arduino dann als GW in FHEM einbinden, sonst hast du vermutlich keinen sinnvollen output an der seriellen Schnittstelle.
Es sollte dann automatisch ein MYSENSORS_DEVICE erstellt werden (ggf. autocreate an und inclusion mode am GW an), über das du dann das Relay schalten kannst:
/*
* The MySensors Arduino library handles the wireless radio link and protocol
* between your home built sensors/actuators and HA controller of choice.
* The sensors forms a self healing radio network with optional repeaters. Each
* repeater and gateway builds a routing tables in EEPROM which keeps track of the
* network topology allowing messages to be routed to nodes.
*
* Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
* Copyright (C) 2013-2018 Sensnology AB
* Full contributor list: https://github.com/mysensors/MySensors/graphs/contributors
*
* Documentation: http://www.mysensors.org
* Support Forum: http://forum.mysensors.org
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
*******************************
*
* REVISION HISTORY
* Version 1.0 - Henrik Ekblad
*
* DESCRIPTION
* Example sketch showing how to control physical relays.
* This example will remember relay state after power failure.
* http://www.mysensors.org/build/relay
*/
// Enable debug prints to serial monitor
#define MY_DEBUG
// Enable and select radio type attached
//#define MY_RADIO_RF24
//#define MY_RADIO_NRF5_ESB
//#define MY_RADIO_RFM69
//#define MY_RADIO_RFM95
// Enable repeater functionality for this node
//#define MY_REPEATER_FEATURE
// Enable serial gateway
#define MY_GATEWAY_SERIAL
// Enable inclusion mode
#define MY_INCLUSION_MODE_FEATURE
#include <MySensors.h>
#define RELAY_PIN 4 // Arduino Digital I/O pin number for first relay (second on pin+1 etc)
#define NUMBER_OF_RELAYS 1 // Total number of attached relays
#define RELAY_ON 1 // GPIO value to write to turn on attached relay
#define RELAY_OFF 0 // GPIO value to write to turn off attached relay
void before()
{
for (int sensor=1, pin=RELAY_PIN; sensor<=NUMBER_OF_RELAYS; sensor++, pin++) {
// Then set relay pins in output mode
pinMode(pin, OUTPUT);
// Set relay to last known state (using eeprom storage)
digitalWrite(pin, loadState(sensor)?RELAY_ON:RELAY_OFF);
}
}
void setup()
{
}
void presentation()
{
// Send the sketch version information to the gateway and Controller
sendSketchInfo("RelayGW", "1.0");
for (int sensor=1, pin=RELAY_PIN; sensor<=NUMBER_OF_RELAYS; sensor++, pin++) {
// Register all sensors to gw (they will be created as child devices)
present(sensor, S_BINARY);
}
}
void loop()
{
}
void receive(const MyMessage &message)
{
// We only expect one type of message from controller. But we better check anyway.
if (message.type==V_STATUS) {
// Change relay state
digitalWrite(message.sensor-1+RELAY_PIN, message.getBool()?RELAY_ON:RELAY_OFF);
// Store state in eeprom
saveState(message.sensor, message.getBool());
// Write some debug info
/*Serial.print("Incoming change for sensor:");
Serial.print(message.sensor);
Serial.print(", New status: ");
Serial.println(message.getBool());*/
}
}
EDIT: Serielle Debug-Ausgaben deaktiviert (letzte 4 Anweisung in receive()); man kann auf diese Art bei einem GW nicht gut debuggen... (Ginge ggf. leichter mit einem 2. Arduino, der könnte (ohne Transceiver) am einfachsten via RS485 "angebunden" werden (aber nur einer))
Zitat von: Beta-User am 06 Juli 2019, 15:55:54
Da du nur einen Arduino hast (?) und keinen nRF24 oder anderen Transceiver dran, mußt du das als GW nutzen.
Auf die Schnelle habe ich das auf Basis deines Codes mal zum GW gemacht. Der folgende Code läßt sich kompilieren, mehr habe ich nicht getestet. Du mußt den Arduino dann als GW in FHEM einbinden, sonst hast du vermutlich keinen sinnvollen output an der seriellen Schnittstelle.
Es sollte dann automatisch ein MYSENSORS_DEVICE erstellt werden (ggf. autocreate an und inclusion mode am GW an), über das du dann das Relay schalten kannst:
/*
* The MySensors Arduino library handles the wireless radio link and protocol
* between your home built sensors/actuators and HA controller of choice.
* The sensors forms a self healing radio network with optional repeaters. Each
* repeater and gateway builds a routing tables in EEPROM which keeps track of the
* network topology allowing messages to be routed to nodes.
*
* Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
* Copyright (C) 2013-2018 Sensnology AB
* Full contributor list: https://github.com/mysensors/MySensors/graphs/contributors
*
* Documentation: http://www.mysensors.org
* Support Forum: http://forum.mysensors.org
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
*******************************
*
* REVISION HISTORY
* Version 1.0 - Henrik Ekblad
*
* DESCRIPTION
* Example sketch showing how to control physical relays.
* This example will remember relay state after power failure.
* http://www.mysensors.org/build/relay
*/
// Enable debug prints to serial monitor
#define MY_DEBUG
// Enable and select radio type attached
//#define MY_RADIO_RF24
//#define MY_RADIO_NRF5_ESB
//#define MY_RADIO_RFM69
//#define MY_RADIO_RFM95
// Enable repeater functionality for this node
//#define MY_REPEATER_FEATURE
// Enable serial gateway
#define MY_GATEWAY_SERIAL
// Enable inclusion mode
#define MY_INCLUSION_MODE_FEATURE
#include <MySensors.h>
#define RELAY_PIN 4 // Arduino Digital I/O pin number for first relay (second on pin+1 etc)
#define NUMBER_OF_RELAYS 1 // Total number of attached relays
#define RELAY_ON 1 // GPIO value to write to turn on attached relay
#define RELAY_OFF 0 // GPIO value to write to turn off attached relay
void before()
{
for (int sensor=1, pin=RELAY_PIN; sensor<=NUMBER_OF_RELAYS; sensor++, pin++) {
// Then set relay pins in output mode
pinMode(pin, OUTPUT);
// Set relay to last known state (using eeprom storage)
digitalWrite(pin, loadState(sensor)?RELAY_ON:RELAY_OFF);
}
}
void setup()
{
}
void presentation()
{
// Send the sketch version information to the gateway and Controller
sendSketchInfo("RelayGW", "1.0");
for (int sensor=1, pin=RELAY_PIN; sensor<=NUMBER_OF_RELAYS; sensor++, pin++) {
// Register all sensors to gw (they will be created as child devices)
present(sensor, S_BINARY);
}
}
void loop()
{
}
void receive(const MyMessage &message)
{
// We only expect one type of message from controller. But we better check anyway.
if (message.type==V_STATUS) {
// Change relay state
digitalWrite(message.sensor-1+RELAY_PIN, message.getBool()?RELAY_ON:RELAY_OFF);
// Store state in eeprom
saveState(message.sensor, message.getBool());
// Write some debug info
/*Serial.print("Incoming change for sensor:");
Serial.print(message.sensor);
Serial.print(", New status: ");
Serial.println(message.getBool());*/
}
}
EDIT: Serielle Debug-Ausgaben deaktiviert (letzte 4 Anweisung in receive()); man kann auf diese Art bei einem GW nicht gut debuggen... (Ginge ggf. leichter mit einem 2. Arduino, der könnte (ohne Transceiver) am einfachsten via RS485 "angebunden" werden (aber nur einer))
Das war nur mein erstes Beispiel.
Ich möchte an sich gar kein Relay schalten, sondern nur erstmal digitale Inputs auslesen.
Upload deines Sketches hat geklappt.
Bisher wurden jedoch keine Nodes in FHEM gefunden.
Autocreate ist eingeschaltet
Inclusion Mode habe ich aktiviert
Verbindung zum Arduino ist connected und opened
Müßte ich auch erst mal austesten usw..
Ich gehe davon aus, FHEM ist aktuell?
Neue Nodes sieht man uU. erst, wenn man das Browserfenster aktualisiert, aber das hast du vermutlich auch gemacht.
Kannst du mal "list TYPE=MYS.*" in die Kommandozeile werfen und ggf. ein list von dem GW und von autocreate hier einstellen?
Zitat von: Beta-User am 06 Juli 2019, 22:19:46
Müßte ich auch erst mal austesten usw..
Ich gehe davon aus, FHEM ist aktuell?
Neue Nodes sieht man uU. erst, wenn man das Browserfenster aktualisiert, aber das hast du vermutlich auch gemacht.
Kannst du mal "list TYPE=MYS.*" in die Kommandozeile werfen und ggf. ein list von dem GW und von autocreate hier einstellen?
Internals:
DEF /dev/ttyUSB0@115200
DeviceName /dev/ttyUSB0@115200
FD 17
FUUID 5d2102d9-f33f-4184-efba-6f38bd080661529c
NAME MyGateway_0
NOTIFYDEV global
NR 45
NTFY_ORDER 50-MyGateway_0
PARTIAL
STATE connected
TYPE MYSENSORS
ack 1
inclusion-mode 1
outstandingAck 0
READINGS:
2019-07-06 22:23:45 connection connected
2019-07-06 22:23:45 state opened
Attributes:
autocreate 1
requestAck 1
stateFormat connection
Internals:
DEF /dev/ttyUSB0@115200
DeviceName /dev/ttyUSB0@115200
FD 17
FUUID 5d2102d9-f33f-4184-efba-6f38bd080661529c
NAME MyGateway_0
NOTIFYDEV global
NR 45
NTFY_ORDER 50-MyGateway_0
PARTIAL
STATE connected
TYPE MYSENSORS
ack 1
inclusion-mode 1
outstandingAck 0
READINGS:
2019-07-06 22:23:45 connection connected
2019-07-06 22:23:45 state opened
Attributes:
autocreate 1
requestAck 1
stateFormat connection
Ein Fehler konnte ich gerade schon beheben. Da es ein Testsystem ist, hat mein Heizungsdevice auch auf USB0 gelauscht. Das habe ich nun gelöscht
Dann definiere beide mal mit "by-id" (Wiki: mehrere USB-Geräte...)
Vermutlich ist das Heizungs-Dongle auch auf der Baudrate?
Zitat von: Beta-User am 06 Juli 2019, 22:58:21
Dann definiere beide mal mit "by-id" (Wiki: mehrere USB-Geräte...)
Vermutlich ist das Heizungs-Dongle auch auf der Baudrate?
habe den erstmal komplett gelöscht
Inzwischen wurde 1 Device angelegt in FHEM
list TYPE=MYS.*
MYSENSOR_0
MyGateway_0
list MYSENSOR_0
Internals:
CFGFN
DEF 0
FUUID 5d210615-f33f-4184-0557-5fade644378804c0
IODev MyGateway_0
NAME MYSENSOR_0
NR 122
STATE ???
TYPE MYSENSORS_DEVICE
ack 0
radioId 0
repeater 0
version 2.3.1
gets:
readingMappings:
1:
17:
name power1
2:
name status1
2:
17:
name power2
2:
name status2
3:
17:
name power3
2:
name status3
4:
17:
name power4
2:
name status4
retainedMessagesForRadioId:
sensorMappings:
0:
receives:
sends:
16
15
1:
receives:
sends:
16
15
10:
receives:
sends:
6
7
11:
receives:
sends:
11
12:
receives:
sends:
12
14
13:
receives:
24
sends:
17
18
54
55
56
24
14:
receives:
sends:
45
21
0
2
15:
receives:
sends:
13
43
16:
receives:
sends:
23
37
17:
receives:
sends:
18:
receives:
sends:
19:
receives:
36
sends:
36
2:
receives:
sends:
16
15
20:
receives:
32
sends:
33
50
32
21:
receives:
24
sends:
34
35
24
22:
receives:
sends:
37
43
23:
receives:
24
25
26
27
28
sends:
24
25
26
27
28
24:
receives:
sends:
37
43
25:
receives:
sends:
19
20
26:
receives:
40
17
3
sends:
40
17
3
27:
receives:
41
17
3
sends:
41
17
3
28:
receives:
40
sends:
40
29:
receives:
sends:
2
0
45
44
21
46
22
3:
receives:
2
17
sends:
2
17
30:
receives:
sends:
38
39
14
31:
receives:
sends:
2
16
32:
receives:
sends:
16
15
33:
receives:
sends:
37
16
15
34:
receives:
sends:
37
16
15
35:
receives:
sends:
37
16
15
36:
receives:
47
sends:
47
37:
receives:
sends:
34
35
38:
receives:
sends:
49
39:
receives:
sends:
0
51
52
53
2
4:
receives:
2
3
17
sends:
2
3
17
5:
receives:
29
30
31
3
sends:
29
30
31
3
6:
receives:
sends:
0
42
7:
receives:
sends:
1
8:
receives:
sends:
4
5
9:
receives:
sends:
8
9
10
sets:
clear noArg
flash noArg
fwType
power1 1
power2 1
power3 1
power4 1
reboot noArg
status1 off,on
status2 off,on
status3 off,on
status4 off,on
time noArg
typeMappings:
0:
type temperature
1:
type humidity
10:
type direction
11:
type uv
12:
type weight
13:
type distance
14:
type impedance
15:
type armed
val:
0 off
1 on
16:
type tripped
val:
0 off
1 on
17:
type power
18:
type energy
19:
type button_on
2:
type status
val:
0 off
1 on
20:
type button_off
21:
type hvacflowstate
22:
type hvacspeed
23:
type brightness
range:
max 100
min 0
step 1
24:
type value1
25:
type value2
26:
type value3
27:
type value4
28:
type value5
29:
type up
3:
type percentage
range:
max 100
min 0
step 1
30:
type down
31:
type stop
32:
type ir_send
33:
type ir_receive
34:
type flow
35:
type volume
36:
type lockstatus
val:
0 off
1 on
37:
type level
38:
type voltage
39:
type current
4:
type pressure
40:
type rgb
41:
type rgbw
42:
type id
43:
type unitprefix
44:
type hvacsetpointcool
45:
type hvacsetpointheat
46:
type hvacflowmode
47:
type text
48:
type custom
49:
type position
5:
type forecast
val:
0 stable
1 sunny
2 cloudy
3 unstable
4 thunderstorm
5 unknown
50:
type ir_record
51:
type ph
52:
type orp
53:
type ec
54:
type value
55:
type va
56:
type power_factor
6:
type rain
7:
type rainrate
8:
type wind
9:
type gust
Attributes:
IODev MyGateway_0
mapReading_power1 1 power
mapReading_power2 2 power
mapReading_power3 3 power
mapReading_power4 4 power
mapReading_status1 1 status
mapReading_status2 2 status
mapReading_status3 3 status
mapReading_status4 4 status
mode node
room MYSENSORS_DEVICE
setReading_power1 1
setReading_power2 1
setReading_power3 1
setReading_power4 1
setReading_status1 off,on
setReading_status2 off,on
setReading_status3 off,on
setReading_status4 off,on
Wenn ich jetzt PIN4 oder 5 oder 6 z.B. mit GND verbinde, um einen Türkontakt zu simulieren, erhalte ich leider keine Statusänderung in FHEM.
Werden alle PINS (Stati) in einem Device in FHEM vereint, oder kann ich irgendwie realisieren, dass die unterschiedlichen PINS auch eigene Devices erhalten?
OK, bitte alles der Reihe nach:
- Wenn du willst, dass FHEM was mitbekommt, muß das im Sketch stehen (als Sendeanweisung, optimalerweise vorneweg mit einer Presentation). Du nutzt grade einen Relais-Sketch, der detektiert keine Taster. Dafür gibt es andere Muster-Sketche...
Schau dir am besten erst mal den Fenster-Kontakt-Sketch an und versuche den mit dem GW-Sketch zu "verheiraten". Dann schau nochmal den Multi-Button/Relay-Sketch an. Dann wird das evtl. etwas klarer.
- Es sollte möglich sein, die Infos zu vereinzeln.
-- Was in jedem Fall geht, wäre ReadingsProxy.
-- Was vielleicht geht, wäre die ID zu klonen und jeweils ein (oder mehrere) Reading(s) auf einer eigenen MYSENSORS_DEVICE-Instanz zu haben (habe ich selbst praktisch keine Erfahrung mit, soll aber gehen...)
Aber bitte: eins nach dem anderen. Erst die Grundprinzipien, dann die Feinheiten, oder?
Zitat von: Beta-User am 07 Juli 2019, 09:41:23
OK, bitte alles der Reihe nach:
- Wenn du willst, dass FHEM was mitbekommt, muß das im Sketch stehen (als Sendeanweisung, optimalerweise vorneweg mit einer Presentation). Du nutzt grade einen Relais-Sketch, der detektiert keine Taster. Dafür gibt es andere Muster-Sketche...
Schau dir am besten erst mal den Fenster-Kontakt-Sketch an und versuche den mit dem GW-Sketch zu "verheiraten". Dann schau nochmal den Multi-Button/Relay-Sketch an. Dann wird das evtl. etwas klarer.
- Es sollte möglich sein, die Infos zu vereinzeln.
-- Was in jedem Fall geht, wäre ReadingsProxy.
-- Was vielleicht geht, wäre die ID zu klonen und jeweils ein (oder mehrere) Reading(s) auf einer eigenen MYSENSORS_DEVICE-Instanz zu haben (habe ich selbst praktisch keine Erfahrung mit, soll aber gehen...)
Aber bitte: eins nach dem anderen. Erst die Grundprinzipien, dann die Feinheiten, oder?
Ja du hast Recht.
Also ich habe nun Komplexität herausgenommen und habe einen funktionierenden Contact hinbekommen.
// Enable debug prints to serial monitor
#define MY_DEBUG
// Enable serial gatewayō
#define MY_GATEWAY_SERIAL
// Enable inclusion mode
#define MY_INCLUSION_MODE_FEATURE
#include <MySensors.h>
#include <Bounce2.h>
Bounce debouncer = Bounce();
int oldValue=-1;
#define CHILD_ID 3
#define BUTTON_PIN 3 // Arduino Digital I/O pin for button/reed switch
// Change to V_LIGHT if you use S_LIGHT in presentation below
MyMessage msg(CHILD_ID,V_TRIPPED);
void setup()
{
// Setup the button
pinMode(BUTTON_PIN,INPUT);
// Activate internal pull-up
digitalWrite(BUTTON_PIN,HIGH);
// After setting up the button, setup debouncer
debouncer.attach(BUTTON_PIN);
debouncer.interval(5);
}
void presentation()
{
// Send the sketch version information to the gateway and Controller
sendSketchInfo("RelayGW", "1.0");
// Register binary input sensor to sensor_node (they will be created as child devices)
// You can use S_DOOR, S_MOTION or S_LIGHT here depending on your usage.
// If S_LIGHT is used, remember to update variable type you send in. See "msg" above.
present(CHILD_ID, S_DOOR);
}
void loop()
{
debouncer.update();
// Get the update value
int value = debouncer.read();
if (value != oldValue) {
// Send in the new value
send(msg.set(value==HIGH ? 1 : 0));
oldValue = value;
}
}
Hiermit bekomme ich für PIN 3 nun zuverlässige Sensorstates.
Ist das der Fenster-Kontakt-Sketch den du meinst, oder gibt es noch einen anderen, bei dem mehrere Kontakte abgefragt werden?
Für 2 Sensoren klappt es nun auch
// Enable debug prints to serial monitor
#define MY_DEBUG
// Enable serial gatewayō
#define MY_GATEWAY_SERIAL
// Enable inclusion mode
#define MY_INCLUSION_MODE_FEATURE
#include <MySensors.h>
#include <Bounce2.h>
#define RELAY_ON 1
#define RELAY_OFF 0
#define SSR_A_ID 3 // Id of the sensor child for FHEM
#define SSR_B_ID 4 // Id of the sensor child for FHEM
#define SENSOR_PIN_A 3 // Pin for Sensor on ArdBoard
#define SENSOR_PIN_B 4 // Pin for Sensor on ArdBoard
const int relayPinA = 5; // Pin for Output on ArdBoard
const int relayPinB = 6; // Pin for Output on ArdBoard
int oldValueSensorA = -1;
int oldValueSensorB = -1;
bool stateA = false;
bool stateB = false;
Bounce debouncerA = Bounce();
Bounce debouncerB = Bounce();
MyMessage msgA(SSR_A_ID, V_TRIPPED);
MyMessage msgB(SSR_B_ID, V_TRIPPED);
void setup()
{
pinMode(SENSOR_PIN_A, INPUT); // Setup the button Activate internal pull-up
pinMode(SENSOR_PIN_B, INPUT); // Setup the button Activate internal pull-up
// Activate internal pull-up
digitalWrite(SENSOR_PIN_A,HIGH);
digitalWrite(SENSOR_PIN_B,HIGH);
// Then set relay pins in output mode
//pinMode(relayPinA, OUTPUT);
//pinMode(relayPinB, OUTPUT);
// After setting up the buttons, setup debouncer
debouncerA.attach(SENSOR_PIN_A);
debouncerA.interval(5);
debouncerB.attach(SENSOR_PIN_B);
debouncerB.interval(5);
// Make sure relays are off when starting up
//digitalWrite(relayPinA, RELAY_OFF);
//digitalWrite(relayPinB, RELAY_OFF);
}
void presentation()
{
// Send the sketch version information to the gateway and Controller
sendSketchInfo("RelayGW", "1.0");
// Register binary input sensor to sensor_node (they will be created as child devices)
// You can use S_DOOR, S_MOTION or S_LIGHT here depending on your usage.
// If S_LIGHT is used, remember to update variable type you send in. See "msg" above.
present(SSR_A_ID, S_DOOR);
present(SSR_B_ID, S_DOOR);
}
/*
Example on how to asynchronously check for new messages from gw
*/
void loop()
{
debouncerA.update();
// Get the update value
int valueSensorA = debouncerA.read();
if (valueSensorA != oldValueSensorA) {
//send(msgA.set(stateA ? false : true), true); // Send new state and request ack back
send(msgA.set(valueSensorA==HIGH ? 1: 0));
}
oldValueSensorA = valueSensorA;
debouncerB.update();
// Get the update value
int valueSensorB = debouncerB.read();
if (valueSensorB != oldValueSensorB) {
//send(msgA.set(stateA ? false : true), true); // Send new state and request ack back
send(msgB.set(valueSensorB==HIGH ? 1: 0));
}
oldValueSensorB = valueSensorB;
}
void receive(const MyMessage &message) {
// We only expect one type of message from controller. But we better check anyway.
if (message.type == V_STATUS) {
switch (message.sensor) {
case 1:
stateA = message.getBool();
digitalWrite(message.sensor + 4, stateA ? RELAY_ON : RELAY_OFF);
break;
case 2:
stateB = message.getBool();
digitalWrite(message.sensor + 4, stateB ? RELAY_ON : RELAY_OFF);
break;
}
// Write some debug info
Serial.print("Incoming change for sensor:");
Serial.println(message.sensor);
Serial.print("from node:");
Serial.println(message.sender);
Serial.print(", New status: ");
Serial.println(message.getBool());
}
}
Stichworte mobil u Kurz : array, Schleife, Pin 2 u 3 freihalten...
Zitat von: Beta-User am 07 Juli 2019, 13:30:04
Stichworte mobil u Kurz : array, Schleife, Pin 2 u 3 freihalten...
optimieren möchte ich, wenn ich erstmal die Werte überhaupt bekomme.
BEi den Türkontakten habe ich glaube ich nun verstanden, wie es funktioniert und die Werte passen.
Jetzt habe ich noch nen DS18B20 anschließen wollen und per OneWire auslesen wollen.
Erstmal auch hier, statisch nur 1 angeschlossen.
Rot = 5V, Schwarz = GND, Gelb = D10
Leider liefert er mir in FHEM immer nur -127.0
Die Beispiele habe ich von MySensors.org.
Was ich nicht habe, das ist der 4.7kOhm resistor. Wofür benötige ich den?
Hier mein Code
// Enable debug prints to serial monitor
#define MY_DEBUG
// Enable serial gatewayō
#define MY_GATEWAY_SERIAL
// Enable inclusion mode
#define MY_INCLUSION_MODE_FEATURE
#include <MySensors.h>
#include <Bounce2.h>
#define RELAY_ON 1
#define RELAY_OFF 0
#define SSR_A_ID 3 // Id of the sensor child for FHEM
#define SSR_B_ID 4 // Id of the sensor child for FHEM
#define SENSOR_PIN_A 3 // Pin for Sensor on ArdBoard
#define SENSOR_PIN_B 4 // Pin for Sensor on ArdBoard
const int relayPinA = 5; // Pin for Output on ArdBoard
const int relayPinB = 6; // Pin for Output on ArdBoard
int oldValueSensorA = -1;
int oldValueSensorB = -1;
bool stateA = false;
bool stateB = false;
Bounce debouncerA = Bounce();
Bounce debouncerB = Bounce();
MyMessage msgA(SSR_A_ID, V_TRIPPED);
MyMessage msgB(SSR_B_ID, V_TRIPPED);
// For one Wire TempSensor DS18B20
#define SENSOR_TEMP_ID 22 // Sensor 2 / Dallas Temp
#define SENSOR_TEMP_PIN 10 // Digi
MyMessage msgTemp(SENSOR_TEMP_ID,V_TEMP);
// Special Config for each Sensor
// Dallas Temp Sensor
#include <OneWire.h>
#include <DallasTemperature.h>
OneWire oneWire(SENSOR_TEMP_PIN);
DallasTemperature sensors(&oneWire);
boolean receivedConfig = false;
boolean metric = true;
long int sensorInterval2 = 100000;
long int sI2 = sensorInterval2;
float lastRead2;
void before()
{
// Startup up the OneWire library
//sensors.begin();
}
void setup()
{
pinMode(SENSOR_PIN_A, INPUT); // Setup the button Activate internal pull-up
pinMode(SENSOR_PIN_B, INPUT); // Setup the button Activate internal pull-up
// Activate internal pull-up
digitalWrite(SENSOR_PIN_A,HIGH);
digitalWrite(SENSOR_PIN_B,HIGH);
// Then set relay pins in output mode
//pinMode(relayPinA, OUTPUT);
//pinMode(relayPinB, OUTPUT);
// After setting up the buttons, setup debouncer
debouncerA.attach(SENSOR_PIN_A);
debouncerA.interval(5);
debouncerB.attach(SENSOR_PIN_B);
debouncerB.interval(5);
// Make sure relays are off when starting up
//digitalWrite(relayPinA, RELAY_OFF);
//digitalWrite(relayPinB, RELAY_OFF);
// requestTemperatures() will not block current thread
//sensors.setWaitForConversion(false);
sensors.begin();
}
void presentation()
{
// Send the sketch version information to the gateway and Controller
sendSketchInfo("RelayGW", "1.0");
// Register binary input sensor to sensor_node (they will be created as child devices)
// You can use S_DOOR, S_MOTION or S_LIGHT here depending on your usage.
// If S_LIGHT is used, remember to update variable type you send in. See "msg" above.
present(SSR_A_ID, S_DOOR);
present(SSR_B_ID, S_DOOR);
// Dallas Temp Sensor
present(SENSOR_TEMP_ID, S_TEMP);
}
/*
Example on how to asynchronously check for new messages from gw
*/
void loop()
{
debouncerA.update();
// Get the update value
int valueSensorA = debouncerA.read();
if (valueSensorA != oldValueSensorA) {
//send(msgA.set(stateA ? false : true), true); // Send new state and request ack back
send(msgA.set(valueSensorA==HIGH ? 1: 0));
}
oldValueSensorA = valueSensorA;
debouncerB.update();
// Get the update value
int valueSensorB = debouncerB.read();
if (valueSensorB != oldValueSensorB) {
//send(msgA.set(stateA ? false : true), true); // Send new state and request ack back
send(msgB.set(valueSensorB==HIGH ? 1: 0));
}
oldValueSensorB = valueSensorB;
// Temperaturen lesen
//getTemperaturesFromSensors();
// Sensor2 - Digital Temp Dallas
if (sI2 == sensorInterval2){
sI2 = 0;
sensors.requestTemperatures();
//float sensorRead2 = static_cast<float>(static_cast<int>((getControllerConfig().isMetric?sensors.getTempCByIndex(0):sensors.getTempFByIndex(0)) * 10.)) / 10.;
float sensorRead2 = sensors.getTempCByIndex(0);
//if (lastRead2 != sensorRead2){
send(msgTemp.set(sensorRead2,1));
lastRead2 = sensorRead2;
//}
}
}
/*
void getTemperaturesFromSensors()
{
// Fetch temperatures from Dallas sensors
sensors.requestTemperatures();
// query conversion time and sleep until conversion completed
int16_t conversionTime = sensors.millisToWaitForConversion(sensors.getResolution());
// sleep() call can be replaced by wait() call if node need to process incoming messages (or if node is repeater)
sleep(conversionTime);
// Read temperatures and send them to controller
for (int i=0; i<numSensors && i<MAX_ATTACHED_DS18B20; i++) {
// Fetch and round temperature to one decimal
float temperature = static_cast<float>(static_cast<int>((getControllerConfig().isMetric?sensors.getTempCByIndex(i):sensors.getTempFByIndex(i)) * 10.)) / 10.;
// Only send data if temperature has changed and no error
#if COMPARE_TEMP == 1
if (lastTemperature[i] != temperature && temperature != -127.00 && temperature != 85.00) {
#else
if (temperature != -127.00 && temperature != 85.00) {
#endif
// Send in the new temperature
send(msgTemp.setSensor(i).set(temperature,1));
// Save new temperatures for next compare
lastTemperature[i]=temperature;
}
}
sleep(SLEEP_TIME);
}
*/
void receive(const MyMessage &message) {
// We only expect one type of message from controller. But we better check anyway.
if (message.type == V_STATUS) {
switch (message.sensor) {
case 1:
stateA = message.getBool();
digitalWrite(message.sensor + 4, stateA ? RELAY_ON : RELAY_OFF);
break;
case 2:
stateB = message.getBool();
digitalWrite(message.sensor + 4, stateB ? RELAY_ON : RELAY_OFF);
break;
}
// Write some debug info
Serial.print("Incoming change for sensor:");
Serial.println(message.sensor);
Serial.print("from node:");
Serial.println(message.sender);
Serial.print(", New status: ");
Serial.println(message.getBool());
}
}
Ohne pullup-Widerstand geht es nicht bei 1-wire. Sonst bleibt data auf Dauer-low...
Zitat von: Beta-User am 07 Juli 2019, 14:38:06
Ohne pullup-Widerstand geht es nicht bei 1-wire. Sonst bleibt data auf Dauer-low...
ok. habe den nun zwischen gelb und d10 gesetzt.
aber immer noch nur -127.0 als Wert :/
D10 kommt mir unpassend vor. Bitte so machen, wie auf der build-Seite@mysensors.org
sind die I/Os nicht alle gleich?
habs nun angeschlossen, wie auf der MySensors page. leider immer noch -127
Zitat von: flipse am 07 Juli 2019, 15:49:34
sind die I/Os nicht alle gleich?
habs nun angeschlossen, wie auf der MySensors page. leider immer noch -127
Ich habe es jetzt auch mal mit dem unveränderten Beispiel von MySensors versucht.
Also bis auf die GW Kommunikation.
Leider immer noch Fehlanzeige. jetzt wird nicht mal mehr der Temperatursensor über Autocreate hinzugefügt.
Ich habe mal ein Debug im SerialMonitor auf die Anzahl der gefundenen Sensoren durchgeführt. Hier wird eine 0 ausgegeben. Anscheinend findet er meinen Sensor nicht.
Verdrahtet ist es jedoch, wie im Beispiel angegeben.
Habe nun auch noch extra einen externen USB Hub mit externer Stromversorgung eingesetzt
Zitat von: flipse am 07 Juli 2019, 14:38:39
ok. habe den nun zwischen gelb und d10 gesetzt.
aber immer noch nur -127.0 als Wert :/
Wie ist denn die Verkabelung jetzt genau?
Das oben beschriebene klingt falsch, das "data"-Kabel (das häufig gelb ist) muß direkt an den IO-Pin (und ja, bzgl. 1-wire sind tatsächlich alle PINs von D2-A7 tauglich, D10 geht daher auch). Der pullup muß aber "zwischen"
5V und "data" (bzw. dem IO-PIN), das klang so, als würdest du die Spannungsversorgung des pullup über einen PIN machen wollen....
Wenn das mit dem korrekt angeschlossenen pullup nicht klappt, hat vermutlich der Sensor selbst einen Hau oder der Widerstandswert paßt nicht (bitte ggf. mal nachmessen).
Zitat von: Beta-User am 08 Juli 2019, 07:27:12
Wie ist denn die Verkabelung jetzt genau?
Das oben beschriebene klingt falsch, das "data"-Kabel (das häufig gelb ist) muß direkt an den IO-Pin (und ja, bzgl. 1-wire sind tatsächlich alle PINs von D2-A7 tauglich, D10 geht daher auch). Der pullup muß aber "zwischen" 5V und "data" (bzw. dem IO-PIN), das klang so, als würdest du die Spannungsversorgung des pullup über einen PIN machen wollen....
Wenn das mit dem korrekt angeschlossenen pullup nicht klappt, hat vermutlich der Sensor selbst einen Hau oder der Widerstandswert paßt nicht (bitte ggf. mal nachmessen).
Ja. Die Verdrahtung war falsch.
Ich hatte den Widerstand zwischen Data und dem Pin gesetzt. Es sah für mich irgendwie falsch aus, eine "Brücke" zwischen Data und 5V zu bauen. Aber so hat es dann sofort funktioniert.
Vielen Dank für Deine/Eure Hilfe.
Ich bekomme nun die Kontaktsensoren eingebunden und meine Temperatursensoren. Jetzt "nur" noch den Wasserzähler mit dem DS2423 versuchen und dann kann das Ding produktiv eingesetzt werden.
Bisher alles noch auf dem Schreibtisch.
Jetzt versuche ich erstmal den Code "aufzuräumen" und zu optimieren.
Gut, dass sich das mit der Verkabelung geklärt hat.
Aber wieso willst du für den Wasserzähler extra Hardware nehmen?
Geht zwar vielleicht auch, aber dafür war die Empfehlung, D2/D3 freizuhalten. Diese beiden PINs sind nämlich dahingehend anders, dass die (für den jeweilien PIN direkt eine Aussage treffende) Interrupts liefern, was z.B. für Zählerzwecke recht einfach genutzt werden kann. Basis wäre da dieser Sketch: https://www.mysensors.org/build/pulse_water. Wenn du einen weiteren Zähler haben wolltest: einfach die ISR (Interrupt Service Routine, bei diesem Sketch: "onPulse") doppeln und entsprechend anpassen...
(Der pulse-water-meter hat auch schon einen millis()-Pfad. Der sollte sich einfach mit dem "Taster"-bounce2()-Code (in Array-Form) "verheiraten" lassen (so nutze ich das jedenfalls bei anderen meiner Sketche).)
Für FHEM-Zwecke kann man das vermutlich vereinfachen, schlicht alle paar Minuten einen Differenzwert senden und die Statistik in FHEM erstellen (userreading monotonic, oder statistics).
Zitat von: Beta-User am 08 Juli 2019, 09:33:56
Gut, dass sich das mit der Verkabelung geklärt hat.
Aber wieso willst du für den Wasserzähler extra Hardware nehmen?
Geht zwar vielleicht auch, aber dafür war die Empfehlung, D2/D3 freizuhalten. Diese beiden PINs sind nämlich dahingehend anders, dass die (für den jeweilien PIN direkt eine Aussage treffende) Interrupts liefern, was z.B. für Zählerzwecke recht einfach genutzt werden kann. Basis wäre da dieser Sketch: https://www.mysensors.org/build/pulse_water. Wenn du einen weiteren Zähler haben wolltest: einfach die ISR (Interrupt Service Routine, bei diesem Sketch: "onPulse") doppeln und entsprechend anpassen...
(Der pulse-water-meter hat auch schon einen millis()-Pfad. Der sollte sich einfach mit dem "Taster"-bounce2()-Code (in Array-Form) "verheiraten" lassen (so nutze ich das jedenfalls bei anderen meiner Sketche).)
Für FHEM-Zwecke kann man das vermutlich vereinfachen, schlicht alle paar Minuten einen Differenzwert senden und die Statistik in FHEM erstellen (userreading monotonic, oder statistics).
Klar, kann ich auch den TCRT5000 nehmen. Ich dachte es wäre einfacher, den DS2423 zu nutzen und an den Arduino anzuschließen.
Hat jemand schon mal ein Gehäuse für den TCRT5000 i.V.m. Sensus Zählern?
Weiß nicht, ob du den TCRT da brauchst.
Wenn du im Prinzip einen Impuls für S0-Zähler hast, kannst du den Impulsgeber direkt anschließen...
Zitat von: Beta-User am 08 Juli 2019, 13:25:09
Weiß nicht, ob du den TCRT da brauchst.
Wenn du im Prinzip einen Impuls für S0-Zähler hast, kannst du den Impulsgeber direkt anschließen...
Ich habe an dem Zähler keinen Anschluss gesehen
Wie soll dann der DS2423 weiterhelfen? Um zu funktionieren, braucht der auch irgendwoher einen Puls. Daher hatte ich unterstellt, dass ein solcher schon vorhanden ist ??? .
Wenn nicht, solltest du überlegen, den Zähler gegen einen auszutauschen, der einen S0-Anschluß hat. Wasserzähler sind "speziell", vermutlich funktioniert da die Infrarot-Abtastung nicht, wenn dann nur analog mit selbstregelnder Kalibierung und und und... Es sei denn, es würde magnetisch mit einem Reed-Kontakt gehen. Wenn du dein Modell hast, kannst du ja in dem "Wasserzähler-Thread" mal suchen, was es ggf. dafür an Ideen gibt oder konkret nachfragen, wenn "die Suchmaschine deiner Wahl" keinen Treffer liefert.
Das solltest du zuerst recherchieren, und bis dahin einfach PIN2/3 freihalten bzw. den Code gleich so schreiben, dass der Arduino da jeweils ohne weitere 1-wire Hardware korrekt zählen würde ;D . Testen kannst du die Funktionalität ja schon mal vorab, da reicht ein simpler Taster.
Zitat von: Beta-User am 08 Juli 2019, 14:13:46
Wie soll dann der DS2423 weiterhelfen? Um zu funktionieren, braucht der auch irgendwoher einen Puls. Daher hatte ich unterstellt, dass ein solcher schon vorhanden ist ??? .
Wenn nicht, solltest du überlegen, den Zähler gegen einen auszutauschen, der einen S0-Anschluß hat. Wasserzähler sind "speziell", vermutlich funktioniert da die Infrarot-Abtastung nicht, wenn dann nur analog mit selbstregelnder Kalibierung und und und... Es sei denn, es würde magnetisch mit einem Reed-Kontakt gehen. Wenn du dein Modell hast, kannst du ja in dem "Wasserzähler-Thread" mal suchen, was es ggf. dafür an Ideen gibt oder konkret nachfragen, wenn "die Suchmaschine deiner Wahl" keinen Treffer liefert.
Das solltest du zuerst recherchieren, und bis dahin einfach PIN2/3 freihalten bzw. den Code gleich so schreiben, dass der Arduino da jeweils ohne weitere 1-wire Hardware korrekt zählen würde ;D . Testen kannst du die Funktionalität ja schon mal vorab, da reicht ein simpler Taster.
da bin ich gerade dran ;)
ich war der Meinung der DS2324 ist die gesamte Einheit inkl. optischer Abtastung. Dann habe ich mich vertan ;)
Nein. Ich habe keine S0 Schnittstelle, die ich abgreifen kann.
So, jetzt ist der Code soweit aufgeräumt und so angepasst, dass ich über Variablenänderung die Pins mit deren Funktion bestimmen kann.
Der Sensor zur Abtretung des Wasserzählers ist auch vorbereitet. Sobald ich morgen die Hardware habe, werde ich es testen.
Wie kann ich nun erreichen, dass FHEM nicht 1 Device, sondern mehrere aus dem jeweiligen Kontaktsensor erstellt?
Dankeschön
Zitat von: flipse am 08 Juli 2019, 22:23:49
Wie kann ich nun erreichen, dass FHEM nicht 1 Device, sondern mehrere aus dem jeweiligen Kontaktsensor erstellt?
Mit den Stichworten von hier hast du schon gespielt?
Zitat von: Beta-User am 07 Juli 2019, 09:41:23
- Es sollte möglich sein, die Infos zu vereinzeln.
-- Was in jedem Fall geht, wäre ReadingsProxy.
-- Was vielleicht geht, wäre die ID zu klonen und jeweils ein (oder mehrere) Reading(s) auf einer eigenen MYSENSORS_DEVICE-Instanz zu haben (habe ich selbst praktisch keine Erfahrung mit, soll aber gehen...)
Vorab wäre aber die Frage, ob du überhaupt Einzeldevices benötigst, und wenn ja, zu welchem Zweck.
Im Rahmen reiner Automatisierungsaufgaben ist es völlig irrelevant, ob die jeweilige Info in einem eigenen Device steht oder in einem Reading eines mehrkanaligen "Großdevices". Vereinzeln macht nur dann Sinn, wenn du das zu Anzeigezwecken brauchst (z.B. pro Raum ein oder zwei Readings anzeigen? => dann eher ReadingsProxy oder evtl. readingsGroup), oder ob z.B. ein Modul Events an einem separaten Device benötigt (AutoShuttersControl könnte so ein Fall sein, wobei da evtl. noch dazu kommt, dass auch ReadingsProxy vielleicht nicht in jedem Fall die erwarteten state-Events liefert (bitte ggf. verifizieren!); dafür stehen die Infos da schon im state, was die grafische Anzeige einfacher macht...).
Was den 2. Weg (Device einfach klonen) angeht: ich habe das nur kurz angetestet und weiß, dass das grundsätzlich funktioniert; ich kann aber nicht sagen, bei welchem Device dann z.B. neue Readings angelegt werden, usw.. Da solltest du ggf. einfach mal testen, ob sich das so verhält, wie du das brauchst, oder ob nicht ein anderer Weg besser ist. Dazu würde ich aber empfehlen, ggf. einen eigenen Thread im MySensors-Bereich aufzumachen, da gibt's nämlich Leute, die damit mehr Erfahrung haben...
Ansonsten gilt, wie immer bei FHEM: viele Wege führen nach Rom...
Zitat von: Beta-User am 09 Juli 2019, 07:18:15
Mit den Stichworten von hier hast du schon gespielt?Vorab wäre aber die Frage, ob du überhaupt Einzeldevices benötigst, und wenn ja, zu welchem Zweck.
Im Rahmen reiner Automatisierungsaufgaben ist es völlig irrelevant, ob die jeweilige Info in einem eigenen Device steht oder in einem Reading eines mehrkanaligen "Großdevices". Vereinzeln macht nur dann Sinn, wenn du das zu Anzeigezwecken brauchst (z.B. pro Raum ein oder zwei Readings anzeigen? => dann eher ReadingsProxy oder evtl. readingsGroup), oder ob z.B. ein Modul Events an einem separaten Device benötigt (AutoShuttersControl könnte so ein Fall sein, wobei da evtl. noch dazu kommt, dass auch ReadingsProxy vielleicht nicht in jedem Fall die erwarteten state-Events liefert (bitte ggf. verifizieren!); dafür stehen die Infos da schon im state, was die grafische Anzeige einfacher macht...).
Was den 2. Weg (Device einfach klonen) angeht: ich habe das nur kurz angetestet und weiß, dass das grundsätzlich funktioniert; ich kann aber nicht sagen, bei welchem Device dann z.B. neue Readings angelegt werden, usw.. Da solltest du ggf. einfach mal testen, ob sich das so verhält, wie du das brauchst, oder ob nicht ein anderer Weg besser ist. Dazu würde ich aber empfehlen, ggf. einen eigenen Thread im MySensors-Bereich aufzumachen, da gibt's nämlich Leute, die damit mehr Erfahrung haben...
Ansonsten gilt, wie immer bei FHEM: viele Wege führen nach Rom...
Die Begründung ist, dass ich das Device gerne in Homekit einbinden möchte.
Ja, ich weiß, dass man mit einem entsprechenden HomebridgeMapping aus 1 Device auch mehrere Homekit Devices generieren kann.
Aber ich finde die Übersichtlichkeit in FHEM jetzt einfach ganz gut. So habe ich für jeden Türkontakt ein Device, was auch ein rotes Icon mit offener Türe zeigt, wenn der Kontakt offen ist etc.
Ich schaue mir das readingsProxy mal an
Zitat von: Beta-User am 10 Juli 2019, 10:02:40
Hmm,
irgendwie finde ich die Frage hier in diesem Thread in der Nähe von OT (der TE war ja jemand anderes!). Bitte daher ggf. entweder direkt bei MySensors.org einen Thread aufmachen, oder wenigstens hier im MySensors-Bereich (alternativ, da sich die Frage vermutlich im wesentlichen an mich richtet: in deinem eigenen "direkt-anbinden-Thread). Das folgende bleibt daher das einzige, was ich konkret darauf aufworte:
Such mal nach Arduino und micros() (darauf beziehen sich alle Variablen in der ISR):Damit ist diese ominöse hohe Zahl eine Minute, oder...?
Was den PULSE_FACTOR angeht, steht im Original:
#define PULSE_FACTOR 1000 // Number of blinks per m3 of your meter (One rotation/liter)
Was da ursprünglich stand, bedeutete also: "ein Blink ist ein Liter". Du hast jetzt "ein Blink ist ein m³" draus gemacht, was tatsächlich vom Sketch als "too much" verworfen wird...
ok, das habe ich angepasst und wieder rückgängig gemacht.
wo kann ich denn definieren, ab wann ich in FHEM eine Rückmeldung bekomme.
möchte das am Anfang recht häufig haben zum testen.
derzeit tauchen nicht mal die readings auf.
Die Zeit wird im Sketch durch "SEND_FREQUENCY" bestimmt, per default also 30 Sekunden.
Allerdings kann es sein, dass ohne Pulse auch "nichts" gesendet wird, was dann dazu führt, dass die Readings nicht gefüllt werden. Du solltest also den Sensor schon irgendwas zählen lassen, damit auch was anderes als "empty" payload generiert wird.
Und: Neue Readings sieht man uU. erst, wenn man die betr. Seite neu lädt (F5@firefox).
Weiter sind in dem "Water-Pulse-Sensor" Sketch auch einige serielle Ausgaben drin, die evtl. nicht optimal sind; kommentiere die mal aus. Die kommen sonst nämlich - anders als bei einer "normalen" node - beim GW genau so auch an und müssen von diesem geprüft (und verworfen) werden. Kann sein, dass dadurch was durcheinanderkommt (sollte eigentlich nicht, aber das ist auch für mich Neuland).
Zitat von: Beta-User am 10 Juli 2019, 11:44:18
Die Zeit wird im Sketch durch "SEND_FREQUENCY" bestimmt, per default also 30 Sekunden.
Allerdings kann es sein, dass ohne Pulse auch "nichts" gesendet wird, was dann dazu führt, dass die Readings nicht gefüllt werden. Du solltest also den Sensor schon irgendwas zählen lassen, damit auch was anderes als "empty" payload generiert wird.
Und: Neue Readings sieht man uU. erst, wenn man die betr. Seite neu lädt (F5@firefox).
Weiter sind in dem "Water-Pulse-Sensor" Sketch auch einige serielle Ausgaben drin, die evtl. nicht optimal sind; kommentiere die mal aus. Die kommen sonst nämlich - anders als bei einer "normalen" node - beim GW genau so auch an und müssen von diesem geprüft (und verworfen) werden. Kann sein, dass dadurch was durcheinanderkommt (sollte eigentlich nicht, aber das ist auch für mich Neuland).
Jetzt ist die Waschmaschine an, Wasser wird gezogen und ich erhalte nichts.
Lediglich das hier im Log (Verbose5)
2019.07.10 11:41:55 4 : MYSENSORS/RAW: 0;/255;3;0;9;53
2019.07.10 11:41:55 4 : MYSENSORS/RAW: 0;255;3;0;9;53/46 MCO:SLP:W
2019.07.10 11:41:55 4 : MYSENSORS/RAW: 0;255;3;0;9;5346 MCO:SLP:W/UP=-1
2019.07.10 11:41:55 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5346 MCO:SLP:WUP=-1'
2019.07.10 11:41:55 5 : MYSENSORS gateway ArduinoGateway: 5346 MCO:SLP:WUP=-1
2019.07.10 11:41:55 4 : MYSENSORS/RAW: /0
2019.07.10 11:41:55 4 : MYSENSORS/RAW: 0/;255;3;0;9;5
2019.07.10 11:41:55 4 : MYSENSORS/RAW: 0;255;3;0;9;5/351 MCO:SLP:
2019.07.10 11:41:55 4 : MYSENSORS/RAW: 0;255;3;0;9;5351 MCO:SLP:/MS=94,SMS=0,
2019.07.10 11:41:55 4 : MYSENSORS/RAW: 0;255;3;0;9;5351 MCO:SLP:MS=94,SMS=0,/I1=255,M1=25
2019.07.10 11:41:55 4 : MYSENSORS/RAW: 0;255;3;0;9;5351 MCO:SLP:MS=94,SMS=0,I1=255,M1=25/5,I2=255,M2
2019.07.10 11:41:55 4 : MYSENSORS/RAW: 0;255;3;0;9;5351 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2/=255
2019.07.10 11:41:55 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5351 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:41:55 5 : MYSENSORS gateway ArduinoGateway: 5351 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:41:56 4 : MYSENSORS/RAW: /0
2019.07.10 11:41:56 4 : MYSENSORS/RAW: 0/;255;3;0;9;
2019.07.10 11:41:56 4 : MYSENSORS/RAW: 0;255;3;0;9;/5357 MCO:SLP
2019.07.10 11:41:56 4 : MYSENSORS/RAW: 0;255;3;0;9;5357 MCO:SLP/:WUP=-1 0
2019.07.10 11:41:56 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5357 MCO:SLP:WUP=-1'
2019.07.10 11:41:56 5 : MYSENSORS gateway ArduinoGateway: 5357 MCO:SLP:WUP=-1
2019.07.10 11:41:56 4 : MYSENSORS/RAW: 0/;255;3;0;9;5
2019.07.10 11:41:56 4 : MYSENSORS/RAW: 0;255;3;0;9;5/360 MCO:SLP:
2019.07.10 11:41:56 4 : MYSENSORS/RAW: 0;255;3;0;9;5360 MCO:SLP:/MS=3000,SMS=
2019.07.10 11:41:56 4 : MYSENSORS/RAW: 0;255;3;0;9;5360 MCO:SLP:MS=3000,SMS=/0,I1=255,M1=
2019.07.10 11:41:56 4 : MYSENSORS/RAW: 0;255;3;0;9;5360 MCO:SLP:MS=3000,SMS=0,I1=255,M1=/255,I2=255,
2019.07.10 11:41:56 4 : MYSENSORS/RAW: 0;255;3;0;9;5360 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,/M2=255
2019.07.10 11:41:56 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5360 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:41:56 5 : MYSENSORS gateway ArduinoGateway: 5360 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:41:59 4 : MYSENSORS/RAW: /0;255;3;
2019.07.10 11:41:59 4 : MYSENSORS/RAW: 0;255;3;/0;9;5366 MCO
2019.07.10 11:41:59 4 : MYSENSORS/RAW: 0;255;3;0;9;5366 MCO/:SLP:WUP=-1
2019.07.10 11:41:59 4 : MYSENSORS/RAW: 0;255;3;0;9;5366 MCO:SLP:WUP=-1/
2019.07.10 11:41:59 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5366 MCO:SLP:WUP=-1'
2019.07.10 11:41:59 5 : MYSENSORS gateway ArduinoGateway: 5366 MCO:SLP:WUP=-1
2019.07.10 11:41:59 4 : MYSENSORS/RAW: /0;255;3
2019.07.10 11:41:59 4 : MYSENSORS/RAW: 0;255;3/;0;9;5370 M
2019.07.10 11:41:59 4 : MYSENSORS/RAW: 0;255;3;0;9;5370 M/CO:SLP:MS=94,
2019.07.10 11:41:59 4 : MYSENSORS/RAW: 0;255;3;0;9;5370 MCO:SLP:MS=94,/SMS=0,I1=25
2019.07.10 11:41:59 4 : MYSENSORS/RAW: 0;255;3;0;9;5370 MCO:SLP:MS=94,SMS=0,I1=25/5,M1=255,I2
2019.07.10 11:41:59 4 : MYSENSORS/RAW: 0;255;3;0;9;5370 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2/=255,M2=255
2019.07.10 11:41:59 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5370 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:41:59 5 : MYSENSORS gateway ArduinoGateway: 5370 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:41:59 4 : MYSENSORS/RAW: /0;255
2019.07.10 11:41:59 4 : MYSENSORS/RAW: 0;255/;3;0;9;5377
2019.07.10 11:41:59 4 : MYSENSORS/RAW: 0;255;3;0;9;5377 /MCO:SLP:WUP=
2019.07.10 11:41:59 4 : MYSENSORS/RAW: 0;255;3;0;9;5377 MCO:SLP:WUP=/-1 0;255;
2019.07.10 11:41:59 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5377 MCO:SLP:WUP=-1'
2019.07.10 11:41:59 5 : MYSENSORS gateway ArduinoGateway: 5377 MCO:SLP:WUP=-1
2019.07.10 11:41:59 4 : MYSENSORS/RAW: 0;255;/3;0;9;5380 M
2019.07.10 11:41:59 4 : MYSENSORS/RAW: 0;255;3;0;9;5380 M/CO:SLP:MS=3
2019.07.10 11:41:59 4 : MYSENSORS/RAW: 0;255;3;0;9;5380 MCO:SLP:MS=3/000,SMS=0,I1
2019.07.10 11:41:59 4 : MYSENSORS/RAW: 0;255;3;0;9;5380 MCO:SLP:MS=3000,SMS=0,I1/=255,M1=255,
2019.07.10 11:41:59 4 : MYSENSORS/RAW: 0;255;3;0;9;5380 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,/I2=255,M2=2
2019.07.10 11:41:59 4 : MYSENSORS/RAW: 0;255;3;0;9;5380 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=2/55
2019.07.10 11:41:59 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5380 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:41:59 5 : MYSENSORS gateway ArduinoGateway: 5380 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:01 4 : MYSENSORS/RAW: /0;255;3;0;
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0;/9;5386 MCO:S
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0;9;5386 MCO:S/LP:WUP=-1
2019.07.10 11:42:01 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5386 MCO:SLP:WUP=-1'
2019.07.10 11:42:01 5 : MYSENSORS gateway ArduinoGateway: 5386 MCO:SLP:WUP=-1
2019.07.10 11:42:01 4 : MYSENSORS/RAW: /0;255;3;0
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0/;9;5391 MCO:
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0;9;5391 MCO:/SLP:MS=94,SM
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0;9;5391 MCO:SLP:MS=94,SM/S=0,I1=255,M
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0;9;5391 MCO:SLP:MS=94,SMS=0,I1=255,M/1=255,I2=25
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0;9;5391 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=25/5,M2=255
2019.07.10 11:42:01 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5391 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:01 5 : MYSENSORS gateway ArduinoGateway: 5391 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:01 4 : MYSENSORS/RAW: /0;255;
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;/3;0;9;5397 M
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0;9;5397 M/CO:SLP:WUP=-
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0;9;5397 MCO:SLP:WUP=-/1 0;255;3
2019.07.10 11:42:01 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5397 MCO:SLP:WUP=-1'
2019.07.10 11:42:01 5 : MYSENSORS gateway ArduinoGateway: 5397 MCO:SLP:WUP=-1
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3/;0;9;5400 MC
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0;9;5400 MC/O:SLP:MS=30
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0;9;5400 MCO:SLP:MS=30/00,SMS=0,I1=
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0;9;5400 MCO:SLP:MS=3000,SMS=0,I1=/255,M1=255,I
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0;9;5400 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I/2=255,M2=255
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0;9;5400 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255/
2019.07.10 11:42:01 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5400 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:01 5 : MYSENSORS gateway ArduinoGateway: 5400 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:01 4 : MYSENSORS/RAW: /0;255
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255/;3;0;9;5406 MCO:SLP:WUP=-1 0;255;3;0;9;5411
2019.07.10 11:42:01 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5406 MCO:SLP:WUP=-1'
2019.07.10 11:42:01 5 : MYSENSORS gateway ArduinoGateway: 5406 MCO:SLP:WUP=-1
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0;9;5411/ MCO:SLP:MS=94,SMS=0,I1
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0;9;5411 MCO:SLP:MS=94,SMS=0,I1/=255,M1=255,
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0;9;5411 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,/I2=255,M2=25
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0;9;5411 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=25/5
2019.07.10 11:42:01 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5411 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:01 5 : MYSENSORS gateway ArduinoGateway: 5411 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:01 4 : MYSENSORS/RAW: /0;255;3;0
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0/;9;5416 MCO:
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0;9;5416 MCO:/SLP:WUP=-1
2019.07.10 11:42:01 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5416 MCO:SLP:WUP=-1'
2019.07.10 11:42:01 5 : MYSENSORS gateway ArduinoGateway: 5416 MCO:SLP:WUP=-1
2019.07.10 11:42:01 4 : MYSENSORS/RAW: /0;255;3;0;
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0;/9;5420 MCO:S
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0;9;5420 MCO:S/LP:MS=3000,S
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0;9;5420 MCO:SLP:MS=3000,S/MS=0,I1=255
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0;9;5420 MCO:SLP:MS=3000,SMS=0,I1=255/,M1=255,I2=2
2019.07.10 11:42:01 4 : MYSENSORS/RAW: 0;255;3;0;9;5420 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=2/55,M2=255
2019.07.10 11:42:01 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5420 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:01 5 : MYSENSORS gateway ArduinoGateway: 5420 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:02 4 : MYSENSORS/RAW: /0;
2019.07.10 11:42:02 4 : MYSENSORS/RAW: 0;/255;3;0;9;54
2019.07.10 11:42:02 4 : MYSENSORS/RAW: 0;255;3;0;9;54/26 MCO:SLP:
2019.07.10 11:42:02 4 : MYSENSORS/RAW: 0;255;3;0;9;5426 MCO:SLP:/WUP=-1
2019.07.10 11:42:02 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5426 MCO:SLP:WUP=-1'
2019.07.10 11:42:02 5 : MYSENSORS gateway ArduinoGateway: 5426 MCO:SLP:WUP=-1
2019.07.10 11:42:02 4 : MYSENSORS/RAW: /0
2019.07.10 11:42:02 4 : MYSENSORS/RAW: 0/;255;3;0;9;5
2019.07.10 11:42:02 4 : MYSENSORS/RAW: 0;255;3;0;9;5/431 MCO:SLP
2019.07.10 11:42:02 4 : MYSENSORS/RAW: 0;255;3;0;9;5431 MCO:SLP/:MS=94,SMS=0
2019.07.10 11:42:02 4 : MYSENSORS/RAW: 0;255;3;0;9;5431 MCO:SLP:MS=94,SMS=0/,I1=255,M1=2
2019.07.10 11:42:02 4 : MYSENSORS/RAW: 0;255;3;0;9;5431 MCO:SLP:MS=94,SMS=0,I1=255,M1=2/55,I2=255,M2
2019.07.10 11:42:02 4 : MYSENSORS/RAW: 0;255;3;0;9;5431 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2/=255
2019.07.10 11:42:02 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5431 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:02 5 : MYSENSORS gateway ArduinoGateway: 5431 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:03 4 : MYSENSORS/RAW: /0
2019.07.10 11:42:03 4 : MYSENSORS/RAW: 0/;255;3;0;9;
2019.07.10 11:42:03 4 : MYSENSORS/RAW: 0;255;3;0;9;/5437 MCO:SLP
2019.07.10 11:42:03 4 : MYSENSORS/RAW: 0;255;3;0;9;5437 MCO:SLP/:WUP=-1 0
2019.07.10 11:42:03 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5437 MCO:SLP:WUP=-1'
2019.07.10 11:42:03 5 : MYSENSORS gateway ArduinoGateway: 5437 MCO:SLP:WUP=-1
2019.07.10 11:42:03 4 : MYSENSORS/RAW: 0/;255;3;0;9;5
2019.07.10 11:42:03 4 : MYSENSORS/RAW: 0;255;3;0;9;5/440 MCO:SLP
2019.07.10 11:42:03 4 : MYSENSORS/RAW: 0;255;3;0;9;5440 MCO:SLP/:MS=3000,SMS
2019.07.10 11:42:03 4 : MYSENSORS/RAW: 0;255;3;0;9;5440 MCO:SLP:MS=3000,SMS/=0,I1=255,M1
2019.07.10 11:42:03 4 : MYSENSORS/RAW: 0;255;3;0;9;5440 MCO:SLP:MS=3000,SMS=0,I1=255,M1/=255,I2=255,
2019.07.10 11:42:03 4 : MYSENSORS/RAW: 0;255;3;0;9;5440 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,/M2=255
2019.07.10 11:42:03 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5440 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:03 5 : MYSENSORS gateway ArduinoGateway: 5440 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:05 4 : MYSENSORS/RAW: /0;255;3;0;9;5446 MCO:SLP:WUP=-1 0;255;3;0;9;5450 MCO:SLP:MS=94
2019.07.10 11:42:05 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5446 MCO:SLP:WUP=-1'
2019.07.10 11:42:06 5 : MYSENSORS gateway ArduinoGateway: 5446 MCO:SLP:WUP=-1
2019.07.10 11:42:06 4 : MYSENSORS/RAW: 0;255;3;0;9;5450 MCO:SLP:MS=94/,SMS=0,I1=255,M1=255,I2=
2019.07.10 11:42:06 4 : MYSENSORS/RAW: 0;255;3;0;9;5450 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=/255,M2=255
2019.07.10 11:42:06 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5450 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:06 5 : MYSENSORS gateway ArduinoGateway: 5450 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:06 4 : MYSENSORS/RAW: /0;255
2019.07.10 11:42:06 4 : MYSENSORS/RAW: 0;255/;3;0;9;5456
2019.07.10 11:42:06 4 : MYSENSORS/RAW: 0;255;3;0;9;5456/ MCO:SLP:WUP
2019.07.10 11:42:06 4 : MYSENSORS/RAW: 0;255;3;0;9;5456 MCO:SLP:WUP/=-1 0;255
2019.07.10 11:42:06 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5456 MCO:SLP:WUP=-1'
2019.07.10 11:42:06 5 : MYSENSORS gateway ArduinoGateway: 5456 MCO:SLP:WUP=-1
2019.07.10 11:42:06 4 : MYSENSORS/RAW: 0;255/;3;0;9;5459
2019.07.10 11:42:06 4 : MYSENSORS/RAW: 0;255;3;0;9;5459 /MCO:SLP:MS=3
2019.07.10 11:42:06 4 : MYSENSORS/RAW: 0;255;3;0;9;5459 MCO:SLP:MS=3/000,SMS=0,I1
2019.07.10 11:42:06 4 : MYSENSORS/RAW: 0;255;3;0;9;5459 MCO:SLP:MS=3000,SMS=0,I1/=255,M1=255
2019.07.10 11:42:06 4 : MYSENSORS/RAW: 0;255;3;0;9;5459 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255/,I2=255,M2=2
2019.07.10 11:42:06 4 : MYSENSORS/RAW: 0;255;3;0;9;5459 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=2/55
2019.07.10 11:42:06 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5459 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:06 5 : MYSENSORS gateway ArduinoGateway: 5459 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:09 4 : MYSENSORS/RAW: /0;255;3;0;9
2019.07.10 11:42:09 4 : MYSENSORS/RAW: 0;255;3;0;9/;5466 MCO:SL
2019.07.10 11:42:09 4 : MYSENSORS/RAW: 0;255;3;0;9;5466 MCO:SL/P:WUP=-1
2019.07.10 11:42:09 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5466 MCO:SLP:WUP=-1'
2019.07.10 11:42:09 5 : MYSENSORS gateway ArduinoGateway: 5466 MCO:SLP:WUP=-1
2019.07.10 11:42:09 4 : MYSENSORS/RAW: /0;255;3;0;
2019.07.10 11:42:09 4 : MYSENSORS/RAW: 0;255;3;0;/9;5471 MCO:S
2019.07.10 11:42:09 4 : MYSENSORS/RAW: 0;255;3;0;9;5471 MCO:S/LP:MS=94,SMS
2019.07.10 11:42:09 4 : MYSENSORS/RAW: 0;255;3;0;9;5471 MCO:SLP:MS=94,SMS/=0,I1=255,M1
2019.07.10 11:42:09 4 : MYSENSORS/RAW: 0;255;3;0;9;5471 MCO:SLP:MS=94,SMS=0,I1=255,M1/=255,I2=255
2019.07.10 11:42:09 4 : MYSENSORS/RAW: 0;255;3;0;9;5471 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255/,M2=255
2019.07.10 11:42:09 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5471 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:09 5 : MYSENSORS gateway ArduinoGateway: 5471 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:09 4 : MYSENSORS/RAW: /0;255;3;0
2019.07.10 11:42:09 4 : MYSENSORS/RAW: 0;255;3;0/;9;5477 MCO:
2019.07.10 11:42:09 4 : MYSENSORS/RAW: 0;255;3;0;9;5477 MCO:/SLP:WUP=-1
2019.07.10 11:42:09 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5477 MCO:SLP:WUP=-1'
2019.07.10 11:42:09 5 : MYSENSORS gateway ArduinoGateway: 5477 MCO:SLP:WUP=-1
2019.07.10 11:42:09 4 : MYSENSORS/RAW: /0;255;3;0;
2019.07.10 11:42:09 4 : MYSENSORS/RAW: 0;255;3;0;/9;5480 MCO:S
2019.07.10 11:42:09 4 : MYSENSORS/RAW: 0;255;3;0;9;5480 MCO:S/LP:MS=3000,S
2019.07.10 11:42:09 4 : MYSENSORS/RAW: 0;255;3;0;9;5480 MCO:SLP:MS=3000,S/MS=0,I1=255
2019.07.10 11:42:09 4 : MYSENSORS/RAW: 0;255;3;0;9;5480 MCO:SLP:MS=3000,SMS=0,I1=255/,M1=255,I2=2
2019.07.10 11:42:09 4 : MYSENSORS/RAW: 0;255;3;0;9;5480 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=2/55,M2=255
2019.07.10 11:42:09 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5480 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:09 5 : MYSENSORS gateway ArduinoGateway: 5480 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:12 4 : MYSENSORS/RAW: /0;25
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;25/5;3;0;9;5485
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;255;3;0;9;5485/ MCO:SLP:WUP
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;255;3;0;9;5485 MCO:SLP:WUP/=-1
2019.07.10 11:42:12 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5485 MCO:SLP:WUP=-1'
2019.07.10 11:42:12 5 : MYSENSORS gateway ArduinoGateway: 5485 MCO:SLP:WUP=-1
2019.07.10 11:42:12 4 : MYSENSORS/RAW: /0;2
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;2/55;3;0;9;549
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;255;3;0;9;549/0 MCO:SLP:MS
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;255;3;0;9;5490 MCO:SLP:MS/=94,SMS=0,I1
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;255;3;0;9;5490 MCO:SLP:MS=94,SMS=0,I1/=255,M1=255
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;255;3;0;9;5490 MCO:SLP:MS=94,SMS=0,I1=255,M1=255/,I2=255,M2=2
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;255;3;0;9;5490 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=2/55
2019.07.10 11:42:12 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5490 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:12 5 : MYSENSORS gateway ArduinoGateway: 5490 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:12 4 : MYSENSORS/RAW: /0;2
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;2/55;3;0;9;54
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;255;3;0;9;54/96 MCO:SLP:W
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;255;3;0;9;5496 MCO:SLP:W/UP=-1 0;2
2019.07.10 11:42:12 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5496 MCO:SLP:WUP=-1'
2019.07.10 11:42:12 5 : MYSENSORS gateway ArduinoGateway: 5496 MCO:SLP:WUP=-1
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;2/55;3;0;9;549
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;255;3;0;9;549/9 MCO:SLP:MS
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;255;3;0;9;5499 MCO:SLP:MS/=3000,SMS=0,
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;255;3;0;9;5499 MCO:SLP:MS=3000,SMS=0,/I1=255,M1=2
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;255;3;0;9;5499 MCO:SLP:MS=3000,SMS=0,I1=255,M1=2/55,I2=255,M2
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;255;3;0;9;5499 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2/=255
2019.07.10 11:42:12 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5499 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:12 5 : MYSENSORS gateway ArduinoGateway: 5499 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:12 4 : MYSENSORS/RAW: /0;255;3;0;9;5506 MCO:SLP:WUP=-1 0
2019.07.10 11:42:12 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5506 MCO:SLP:WUP=-1'
2019.07.10 11:42:12 5 : MYSENSORS gateway ArduinoGateway: 5506 MCO:SLP:WUP=-1
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0/;255;3;0;9;
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;255;3;0;9;/5511 MCO:SLP
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;255;3;0;9;5511 MCO:SLP/:MS=94,SMS=0
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;255;3;0;9;5511 MCO:SLP:MS=94,SMS=0/,I1=255,M1=2
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;255;3;0;9;5511 MCO:SLP:MS=94,SMS=0,I1=255,M1=2/55,I2=255,M
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;255;3;0;9;5511 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M/2=255
2019.07.10 11:42:12 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5511 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:12 5 : MYSENSORS gateway ArduinoGateway: 5511 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:12 4 : MYSENSORS/RAW: /0;255;3
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;255;3/;0;9;5517 MC
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;255;3;0;9;5517 MC/O:SLP:WUP=-1
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;255;3;0;9;5517 MCO:SLP:WUP=-1/ 0;255;3;
2019.07.10 11:42:12 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5517 MCO:SLP:WUP=-1'
2019.07.10 11:42:12 5 : MYSENSORS gateway ArduinoGateway: 5517 MCO:SLP:WUP=-1
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;255;3;/0;9;5520 MCO
2019.07.10 11:42:12 4 : MYSENSORS/RAW: 0;255;3;0;9;5520 MCO/:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255 0;255;3;0;9;5526 MCO:SLP:WUP=-1 0;255;3;0;9;5531 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255 0;255;3;0;9;5536 MCO:SLP:WUP=-1 0;255;3;0;9;5539 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:12 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5520 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:12 5 : MYSENSORS gateway ArduinoGateway: 5520 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:12 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5526 MCO:SLP:WUP=-1'
2019.07.10 11:42:12 5 : MYSENSORS gateway ArduinoGateway: 5526 MCO:SLP:WUP=-1
2019.07.10 11:42:12 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5531 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:12 5 : MYSENSORS gateway ArduinoGateway: 5531 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:12 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5536 MCO:SLP:WUP=-1'
2019.07.10 11:42:12 5 : MYSENSORS gateway ArduinoGateway: 5536 MCO:SLP:WUP=-1
2019.07.10 11:42:12 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5539 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:12 5 : MYSENSORS gateway ArduinoGateway: 5539 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:13 4 : MYSENSORS/RAW: /0;255;3;0;9;5545 MCO:SLP:WUP=-1 0;255;3;0;9;5551 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:13 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5545 MCO:SLP:WUP=-1'
2019.07.10 11:42:13 5 : MYSENSORS gateway ArduinoGateway: 5545 MCO:SLP:WUP=-1
2019.07.10 11:42:13 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5551 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:13 5 : MYSENSORS gateway ArduinoGateway: 5551 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:13 4 : MYSENSORS/RAW: /0;255;
2019.07.10 11:42:13 4 : MYSENSORS/RAW: 0;255;/3;0;9;5557 M
2019.07.10 11:42:13 4 : MYSENSORS/RAW: 0;255;3;0;9;5557 M/CO:SLP:WUP=-
2019.07.10 11:42:13 4 : MYSENSORS/RAW: 0;255;3;0;9;5557 MCO:SLP:WUP=-/1 0;255;3
2019.07.10 11:42:13 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5557 MCO:SLP:WUP=-1'
2019.07.10 11:42:13 5 : MYSENSORS gateway ArduinoGateway: 5557 MCO:SLP:WUP=-1
2019.07.10 11:42:13 4 : MYSENSORS/RAW: 0;255;3/;0;9;5560 MC
2019.07.10 11:42:13 4 : MYSENSORS/RAW: 0;255;3;0;9;5560 MC/O:SLP:MS=30
2019.07.10 11:42:13 4 : MYSENSORS/RAW: 0;255;3;0;9;5560 MCO:SLP:MS=30/00,SMS=0,I1=
2019.07.10 11:42:13 4 : MYSENSORS/RAW: 0;255;3;0;9;5560 MCO:SLP:MS=3000,SMS=0,I1=/255,M1=255,
2019.07.10 11:42:13 4 : MYSENSORS/RAW: 0;255;3;0;9;5560 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,/I2=255,M2=25
2019.07.10 11:42:13 4 : MYSENSORS/RAW: 0;255;3;0;9;5560 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=25/5
2019.07.10 11:42:13 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5560 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:13 5 : MYSENSORS gateway ArduinoGateway: 5560 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:16 4 : MYSENSORS/RAW: /0
2019.07.10 11:42:16 4 : MYSENSORS/RAW: 0/;255;3;0;9;5
2019.07.10 11:42:16 4 : MYSENSORS/RAW: 0;255;3;0;9;5/566 MCO:SLP:
2019.07.10 11:42:16 4 : MYSENSORS/RAW: 0;255;3;0;9;5566 MCO:SLP:/WUP=-1
2019.07.10 11:42:16 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5566 MCO:SLP:WUP=-1'
2019.07.10 11:42:16 5 : MYSENSORS gateway ArduinoGateway: 5566 MCO:SLP:WUP=-1
2019.07.10 11:42:16 4 : MYSENSORS/RAW: /0
2019.07.10 11:42:16 4 : MYSENSORS/RAW: 0/;255;3;0;9;
2019.07.10 11:42:16 4 : MYSENSORS/RAW: 0;255;3;0;9;/5570 MCO:SLP
2019.07.10 11:42:16 4 : MYSENSORS/RAW: 0;255;3;0;9;5570 MCO:SLP/:MS=94,SMS=0
2019.07.10 11:42:16 4 : MYSENSORS/RAW: 0;255;3;0;9;5570 MCO:SLP:MS=94,SMS=0/,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:16 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5570 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:16 5 : MYSENSORS gateway ArduinoGateway: 5570 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:16 4 : MYSENSORS/RAW: /0;255;3;0;9
2019.07.10 11:42:16 4 : MYSENSORS/RAW: 0;255;3;0;9/;5576 MCO:SL
2019.07.10 11:42:16 4 : MYSENSORS/RAW: 0;255;3;0;9;5576 MCO:SL/P:WUP=-1
2019.07.10 11:42:16 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5576 MCO:SLP:WUP=-1'
2019.07.10 11:42:16 5 : MYSENSORS gateway ArduinoGateway: 5576 MCO:SLP:WUP=-1
2019.07.10 11:42:16 4 : MYSENSORS/RAW: /0;255;3;0;9;5579 MCO:SLP:MS=3000,SMS=0,I1=255,M
2019.07.10 11:42:16 4 : MYSENSORS/RAW: 0;255;3;0;9;5579 MCO:SLP:MS=3000,SMS=0,I1=255,M/1=255,I2=255
2019.07.10 11:42:16 4 : MYSENSORS/RAW: 0;255;3;0;9;5579 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255/,M2=255
2019.07.10 11:42:16 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5579 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:16 5 : MYSENSORS gateway ArduinoGateway: 5579 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:19 4 : MYSENSORS/RAW: /0;255;
2019.07.10 11:42:19 4 : MYSENSORS/RAW: 0;255;/3;0;9;5585 M
2019.07.10 11:42:19 4 : MYSENSORS/RAW: 0;255;3;0;9;5585 M/CO:SLP:WUP=-
2019.07.10 11:42:19 4 : MYSENSORS/RAW: 0;255;3;0;9;5585 MCO:SLP:WUP=-/1
2019.07.10 11:42:19 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5585 MCO:SLP:WUP=-1'
2019.07.10 11:42:19 5 : MYSENSORS gateway ArduinoGateway: 5585 MCO:SLP:WUP=-1
2019.07.10 11:42:19 4 : MYSENSORS/RAW: /0;255;
2019.07.10 11:42:19 4 : MYSENSORS/RAW: 0;255;/3;0;9;5591
2019.07.10 11:42:19 4 : MYSENSORS/RAW: 0;255;3;0;9;5591 /MCO:SLP:MS=9
2019.07.10 11:42:19 4 : MYSENSORS/RAW: 0;255;3;0;9;5591 MCO:SLP:MS=9/4,SMS=0,I1=2
2019.07.10 11:42:19 4 : MYSENSORS/RAW: 0;255;3;0;9;5591 MCO:SLP:MS=94,SMS=0,I1=2/55,M1=255,I2
2019.07.10 11:42:19 4 : MYSENSORS/RAW: 0;255;3;0;9;5591 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2/=255,M2=255
2019.07.10 11:42:19 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5591 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:19 5 : MYSENSORS gateway ArduinoGateway: 5591 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:19 4 : MYSENSORS/RAW: /0;255
2019.07.10 11:42:19 4 : MYSENSORS/RAW: 0;255/;3;0;9;5597
2019.07.10 11:42:19 4 : MYSENSORS/RAW: 0;255;3;0;9;5597 /MCO:SLP:WUP=
2019.07.10 11:42:19 4 : MYSENSORS/RAW: 0;255;3;0;9;5597 MCO:SLP:WUP=/-1 0;255;
2019.07.10 11:42:19 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5597 MCO:SLP:WUP=-1'
2019.07.10 11:42:19 5 : MYSENSORS gateway ArduinoGateway: 5597 MCO:SLP:WUP=-1
2019.07.10 11:42:19 4 : MYSENSORS/RAW: 0;255;/3;0;9;5600 MCO:SLP:MS=3
2019.07.10 11:42:19 4 : MYSENSORS/RAW: 0;255;3;0;9;5600 MCO:SLP:MS=3/000,SMS=0,I1
2019.07.10 11:42:19 4 : MYSENSORS/RAW: 0;255;3;0;9;5600 MCO:SLP:MS=3000,SMS=0,I1/=255,M1=255,
2019.07.10 11:42:19 4 : MYSENSORS/RAW: 0;255;3;0;9;5600 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,/I2=255,M2=25
2019.07.10 11:42:19 4 : MYSENSORS/RAW: 0;255;3;0;9;5600 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=25/5
2019.07.10 11:42:19 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5600 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:19 5 : MYSENSORS gateway ArduinoGateway: 5600 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:22 4 : MYSENSORS/RAW: /0;255;3;0;9
2019.07.10 11:42:22 4 : MYSENSORS/RAW: 0;255;3;0;9/;5605 MCO:S
2019.07.10 11:42:22 4 : MYSENSORS/RAW: 0;255;3;0;9;5605 MCO:S/LP:WUP=-1
2019.07.10 11:42:22 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5605 MCO:SLP:WUP=-1'
2019.07.10 11:42:22 5 : MYSENSORS gateway ArduinoGateway: 5605 MCO:SLP:WUP=-1
2019.07.10 11:42:22 4 : MYSENSORS/RAW: /0;255;3;0;
2019.07.10 11:42:22 4 : MYSENSORS/RAW: 0;255;3;0;/9;5610 MCO:
2019.07.10 11:42:22 4 : MYSENSORS/RAW: 0;255;3;0;9;5610 MCO:/SLP:MS=94,SM
2019.07.10 11:42:22 4 : MYSENSORS/RAW: 0;255;3;0;9;5610 MCO:SLP:MS=94,SM/S=0,I1=255,M
2019.07.10 11:42:22 4 : MYSENSORS/RAW: 0;255;3;0;9;5610 MCO:SLP:MS=94,SMS=0,I1=255,M/1=255,I2=255
2019.07.10 11:42:22 4 : MYSENSORS/RAW: 0;255;3;0;9;5610 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255/,M2=255
2019.07.10 11:42:22 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5610 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:22 5 : MYSENSORS gateway ArduinoGateway: 5610 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:22 4 : MYSENSORS/RAW: /0;255;3;0
2019.07.10 11:42:22 4 : MYSENSORS/RAW: 0;255;3;0/;9;5616 MCO
2019.07.10 11:42:22 4 : MYSENSORS/RAW: 0;255;3;0;9;5616 MCO/:SLP:WUP=-1
2019.07.10 11:42:22 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5616 MCO:SLP:WUP=-1'
2019.07.10 11:42:22 5 : MYSENSORS gateway ArduinoGateway: 5616 MCO:SLP:WUP=-1
2019.07.10 11:42:22 4 : MYSENSORS/RAW: /0;255;3;0
2019.07.10 11:42:22 4 : MYSENSORS/RAW: 0;255;3;0/;9;5619 MCO:
2019.07.10 11:42:22 4 : MYSENSORS/RAW: 0;255;3;0;9;5619 MCO:/SLP:MS=3000,
2019.07.10 11:42:22 4 : MYSENSORS/RAW: 0;255;3;0;9;5619 MCO:SLP:MS=3000,/SMS=0,I1=255
2019.07.10 11:42:22 4 : MYSENSORS/RAW: 0;255;3;0;9;5619 MCO:SLP:MS=3000,SMS=0,I1=255/,M1=255,I2=
2019.07.10 11:42:22 4 : MYSENSORS/RAW: 0;255;3;0;9;5619 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=/255,M2=255
2019.07.10 11:42:22 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5619 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:22 5 : MYSENSORS gateway ArduinoGateway: 5619 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:23 4 : MYSENSORS/RAW: /0;255
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255/;3;0;9;5625 MCO:SLP:WUP
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5625 MCO:SLP:WUP/=-1
2019.07.10 11:42:23 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5625 MCO:SLP:WUP=-1'
2019.07.10 11:42:23 5 : MYSENSORS gateway ArduinoGateway: 5625 MCO:SLP:WUP=-1
2019.07.10 11:42:23 4 : MYSENSORS/RAW: /0;25
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;25/5;3;0;9;5630
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5630/ MCO:SLP:MS=
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5630 MCO:SLP:MS=/94,SMS=0,I1
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5630 MCO:SLP:MS=94,SMS=0,I1/=255,M1=255,
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5630 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,/I2=255,M2=25
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5630 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=25/5
2019.07.10 11:42:23 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5630 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:23 5 : MYSENSORS gateway ArduinoGateway: 5630 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:23 4 : MYSENSORS/RAW: /0;255;3;
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;/0;9;5637 MCO
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5637 MCO/:SLP:WUP=-1
2019.07.10 11:42:23 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5637 MCO:SLP:WUP=-1'
2019.07.10 11:42:23 5 : MYSENSORS gateway ArduinoGateway: 5637 MCO:SLP:WUP=-1
2019.07.10 11:42:23 4 : MYSENSORS/RAW: /0;255;3;0
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0/;9;5640 MCO:
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5640 MCO:/SLP:MS=3000,
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5640 MCO:SLP:MS=3000,/SMS=0,I1=25
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5640 MCO:SLP:MS=3000,SMS=0,I1=25/5,M1=255,I2=
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5640 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=/255,M2=255
2019.07.10 11:42:23 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5640 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:23 5 : MYSENSORS gateway ArduinoGateway: 5640 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:23 4 : MYSENSORS/RAW: /0
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0/;255;3;0;9;
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;/5646 MCO:SLP
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5646 MCO:SLP/:WUP=-1
2019.07.10 11:42:23 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5646 MCO:SLP:WUP=-1'
2019.07.10 11:42:23 5 : MYSENSORS gateway ArduinoGateway: 5646 MCO:SLP:WUP=-1
2019.07.10 11:42:23 4 : MYSENSORS/RAW: /0;255;3;0;9;
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;/5650 MCO:SL
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5650 MCO:SL/P:MS=94,SMS=
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5650 MCO:SLP:MS=94,SMS=/0,I1=255,M1=
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5650 MCO:SLP:MS=94,SMS=0,I1=255,M1=/255,I2=255,M
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5650 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M/2=255
2019.07.10 11:42:23 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5650 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:23 5 : MYSENSORS gateway ArduinoGateway: 5650 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:23 4 : MYSENSORS/RAW: /0;255;3;0
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0/;9;5656 MCO
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5656 MCO/:SLP:WUP=-1
2019.07.10 11:42:23 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5656 MCO:SLP:WUP=-1'
2019.07.10 11:42:23 5 : MYSENSORS gateway ArduinoGateway: 5656 MCO:SLP:WUP=-1
2019.07.10 11:42:23 4 : MYSENSORS/RAW: /0;255;3;0
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0/;9;5659 MCO:
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5659 MCO:/SLP:MS=3000,
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5659 MCO:SLP:MS=3000,/SMS=0,I1=255
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5659 MCO:SLP:MS=3000,SMS=0,I1=255/,M1=255,I2=
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5659 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=/255,M2=255
2019.07.10 11:42:23 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5659 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:23 5 : MYSENSORS gateway ArduinoGateway: 5659 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:23 4 : MYSENSORS/RAW: /0;2
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;2/55;3;0;9;566
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;566/5 MCO:SLP:WU
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5665 MCO:SLP:WU/P=-1
2019.07.10 11:42:23 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5665 MCO:SLP:WUP=-1'
2019.07.10 11:42:23 5 : MYSENSORS gateway ArduinoGateway: 5665 MCO:SLP:WUP=-1
2019.07.10 11:42:23 4 : MYSENSORS/RAW: /0;2
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;2/55;3;0;9;567
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;567/0 MCO:SLP:M
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5670 MCO:SLP:M/S=94,SMS=0,I
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5670 MCO:SLP:MS=94,SMS=0,I/1=255,M1=255
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5670 MCO:SLP:MS=94,SMS=0,I1=255,M1=255/,I2=255,M2=2
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5670 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=2/55
2019.07.10 11:42:23 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5670 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:23 5 : MYSENSORS gateway ArduinoGateway: 5670 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:23 4 : MYSENSORS/RAW: /0;
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;/255;3;0;9;56
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;56/77 MCO:SLP:W
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5677 MCO:SLP:W/UP=-1 0;2
2019.07.10 11:42:23 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5677 MCO:SLP:WUP=-1'
2019.07.10 11:42:23 5 : MYSENSORS gateway ArduinoGateway: 5677 MCO:SLP:WUP=-1
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;2/55;3;0;9;568
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;568/0 MCO:SLP:M
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5680 MCO:SLP:M/S=3000,SMS=0
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5680 MCO:SLP:MS=3000,SMS=0/,I1=255,M1=2
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5680 MCO:SLP:MS=3000,SMS=0,I1=255,M1=2/55,I2=255,M2
2019.07.10 11:42:23 4 : MYSENSORS/RAW: 0;255;3;0;9;5680 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2/=255
2019.07.10 11:42:23 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5680 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:23 5 : MYSENSORS gateway ArduinoGateway: 5680 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:26 4 : MYSENSORS/RAW: /0;255;3;
2019.07.10 11:42:26 4 : MYSENSORS/RAW: 0;255;3;/0;9;5686 MCO
2019.07.10 11:42:26 4 : MYSENSORS/RAW: 0;255;3;0;9;5686 MCO/:SLP:WUP=-1
2019.07.10 11:42:26 4 : MYSENSORS/RAW: 0;255;3;0;9;5686 MCO:SLP:WUP=-1/
2019.07.10 11:42:26 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5686 MCO:SLP:WUP=-1'
2019.07.10 11:42:26 5 : MYSENSORS gateway ArduinoGateway: 5686 MCO:SLP:WUP=-1
2019.07.10 11:42:26 4 : MYSENSORS/RAW: /0;255;3
2019.07.10 11:42:26 4 : MYSENSORS/RAW: 0;255;3/;0;9;5690 MC
2019.07.10 11:42:26 4 : MYSENSORS/RAW: 0;255;3;0;9;5690 MC/O:SLP:MS=94,
2019.07.10 11:42:26 4 : MYSENSORS/RAW: 0;255;3;0;9;5690 MCO:SLP:MS=94,/SMS=0,I1=255
2019.07.10 11:42:26 4 : MYSENSORS/RAW: 0;255;3;0;9;5690 MCO:SLP:MS=94,SMS=0,I1=255/,M1=255,I2=
2019.07.10 11:42:26 4 : MYSENSORS/RAW: 0;255;3;0;9;5690 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=/255,M2=255
2019.07.10 11:42:26 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5690 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:26 5 : MYSENSORS gateway ArduinoGateway: 5690 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:26 4 : MYSENSORS/RAW: /0;255;
2019.07.10 11:42:26 4 : MYSENSORS/RAW: 0;255;/3;0;9;5696 M
2019.07.10 11:42:26 4 : MYSENSORS/RAW: 0;255;3;0;9;5696 M/CO:SLP:WUP=-
2019.07.10 11:42:26 4 : MYSENSORS/RAW: 0;255;3;0;9;5696 MCO:SLP:WUP=-/1 0;255;3
2019.07.10 11:42:26 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5696 MCO:SLP:WUP=-1'
2019.07.10 11:42:26 5 : MYSENSORS gateway ArduinoGateway: 5696 MCO:SLP:WUP=-1
2019.07.10 11:42:26 4 : MYSENSORS/RAW: 0;255;3/;0;9;5699 MC
2019.07.10 11:42:26 4 : MYSENSORS/RAW: 0;255;3;0;9;5699 MC/O:SLP:MS=300
2019.07.10 11:42:26 4 : MYSENSORS/RAW: 0;255;3;0;9;5699 MCO:SLP:MS=300/0,SMS=0,I1=
2019.07.10 11:42:26 4 : MYSENSORS/RAW: 0;255;3;0;9;5699 MCO:SLP:MS=3000,SMS=0,I1=/255,M1=255,I
2019.07.10 11:42:26 4 : MYSENSORS/RAW: 0;255;3;0;9;5699 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I/2=255,M2=255
2019.07.10 11:42:26 4 : MYSENSORS/RAW: 0;255;3;0;9;5699 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255/
2019.07.10 11:42:26 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5699 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:26 5 : MYSENSORS gateway ArduinoGateway: 5699 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:29 4 : MYSENSORS/RAW: /0;2
2019.07.10 11:42:29 4 : MYSENSORS/RAW: 0;2/55;3;0;9;570
2019.07.10 11:42:29 4 : MYSENSORS/RAW: 0;255;3;0;9;570/5 MCO:SLP:WU
2019.07.10 11:42:29 4 : MYSENSORS/RAW: 0;255;3;0;9;5705 MCO:SLP:WU/P=-1
2019.07.10 11:42:29 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5705 MCO:SLP:WUP=-1'
2019.07.10 11:42:29 5 : MYSENSORS gateway ArduinoGateway: 5705 MCO:SLP:WUP=-1
2019.07.10 11:42:29 4 : MYSENSORS/RAW: /0;
2019.07.10 11:42:29 4 : MYSENSORS/RAW: 0;/255;3;0;9;57
2019.07.10 11:42:29 4 : MYSENSORS/RAW: 0;255;3;0;9;57/10 MCO:SLP:M
2019.07.10 11:42:29 4 : MYSENSORS/RAW: 0;255;3;0;9;5710 MCO:SLP:M/S=94,SMS=0,I
2019.07.10 11:42:29 4 : MYSENSORS/RAW: 0;255;3;0;9;5710 MCO:SLP:MS=94,SMS=0,I/1=255,M1=255
2019.07.10 11:42:29 4 : MYSENSORS/RAW: 0;255;3;0;9;5710 MCO:SLP:MS=94,SMS=0,I1=255,M1=255/,I2=255,M2=
2019.07.10 11:42:29 4 : MYSENSORS/RAW: 0;255;3;0;9;5710 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=/255
2019.07.10 11:42:29 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5710 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:29 5 : MYSENSORS gateway ArduinoGateway: 5710 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:29 4 : MYSENSORS/RAW: /0;
2019.07.10 11:42:29 4 : MYSENSORS/RAW: 0;/255;3;0;9;5
2019.07.10 11:42:29 4 : MYSENSORS/RAW: 0;255;3;0;9;5/716 MCO:SLP:
2019.07.10 11:42:29 4 : MYSENSORS/RAW: 0;255;3;0;9;5716 MCO:SLP:/WUP=-1 0;
2019.07.10 11:42:29 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5716 MCO:SLP:WUP=-1'
2019.07.10 11:42:29 5 : MYSENSORS gateway ArduinoGateway: 5716 MCO:SLP:WUP=-1
2019.07.10 11:42:29 4 : MYSENSORS/RAW: 0;/255;3;0;9;57
2019.07.10 11:42:29 4 : MYSENSORS/RAW: 0;255;3;0;9;57/20 MCO:SLP:M
2019.07.10 11:42:29 4 : MYSENSORS/RAW: 0;255;3;0;9;5720 MCO:SLP:M/S=3000,SMS=0
2019.07.10 11:42:29 4 : MYSENSORS/RAW: 0;255;3;0;9;5720 MCO:SLP:MS=3000,SMS=0/,I1=255,M1=
2019.07.10 11:42:29 4 : MYSENSORS/RAW: 0;255;3;0;9;5720 MCO:SLP:MS=3000,SMS=0,I1=255,M1=/255,I2=255,M
2019.07.10 11:42:29 4 : MYSENSORS/RAW: 0;255;3;0;9;5720 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M/2=255
2019.07.10 11:42:29 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5720 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:29 5 : MYSENSORS gateway ArduinoGateway: 5720 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:31 4 : MYSENSORS/RAW: /0;2
2019.07.10 11:42:31 4 : MYSENSORS/RAW: 0;2/55;3;0;9;57
2019.07.10 11:42:31 4 : MYSENSORS/RAW: 0;255;3;0;9;57/25 MCO:SLP:W
2019.07.10 11:42:31 4 : MYSENSORS/RAW: 0;255;3;0;9;5725 MCO:SLP:W/UP=-1
2019.07.10 11:42:31 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5725 MCO:SLP:WUP=-1'
2019.07.10 11:42:31 5 : MYSENSORS gateway ArduinoGateway: 5725 MCO:SLP:WUP=-1
2019.07.10 11:42:31 4 : MYSENSORS/RAW: /0;
2019.07.10 11:42:31 4 : MYSENSORS/RAW: 0;/255;3;0;9;57
2019.07.10 11:42:31 4 : MYSENSORS/RAW: 0;255;3;0;9;57/30 MCO:SLP:
2019.07.10 11:42:31 4 : MYSENSORS/RAW: 0;255;3;0;9;5730 MCO:SLP:/MS=94,SMS=0,
2019.07.10 11:42:31 4 : MYSENSORS/RAW: 0;255;3;0;9;5730 MCO:SLP:MS=94,SMS=0,/I1=255,M1=25
2019.07.10 11:42:31 4 : MYSENSORS/RAW: 0;255;3;0;9;5730 MCO:SLP:MS=94,SMS=0,I1=255,M1=25/5,I2=255,M2=
2019.07.10 11:42:31 4 : MYSENSORS/RAW: 0;255;3;0;9;5730 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=/255
2019.07.10 11:42:31 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5730 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:31 5 : MYSENSORS gateway ArduinoGateway: 5730 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:31 4 : MYSENSORS/RAW: /0
2019.07.10 11:42:31 4 : MYSENSORS/RAW: 0/;255;3;0;9;5
2019.07.10 11:42:31 4 : MYSENSORS/RAW: 0;255;3;0;9;5/736 MCO:SLP:
2019.07.10 11:42:31 4 : MYSENSORS/RAW: 0;255;3;0;9;5736 MCO:SLP:/WUP=-1 0;
2019.07.10 11:42:31 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5736 MCO:SLP:WUP=-1'
2019.07.10 11:42:31 5 : MYSENSORS gateway ArduinoGateway: 5736 MCO:SLP:WUP=-1
2019.07.10 11:42:31 4 : MYSENSORS/RAW: 0;/255;3;0;9;57
2019.07.10 11:42:31 4 : MYSENSORS/RAW: 0;255;3;0;9;57/39 MCO:SLP:
2019.07.10 11:42:31 4 : MYSENSORS/RAW: 0;255;3;0;9;5739 MCO:SLP:/MS=3000,SMS=
2019.07.10 11:42:31 4 : MYSENSORS/RAW: 0;255;3;0;9;5739 MCO:SLP:MS=3000,SMS=/0,I1=255,M1=
2019.07.10 11:42:31 4 : MYSENSORS/RAW: 0;255;3;0;9;5739 MCO:SLP:MS=3000,SMS=0,I1=255,M1=/255,I2=255,M
2019.07.10 11:42:31 4 : MYSENSORS/RAW: 0;255;3;0;9;5739 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M/2=255
2019.07.10 11:42:31 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5739 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:31 5 : MYSENSORS gateway ArduinoGateway: 5739 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:33 4 : MYSENSORS/RAW: /0
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0/;255;3;0;9;5
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;9;5/745 MCO:SLP:
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;9;5745 MCO:SLP:/WUP=-1
2019.07.10 11:42:33 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5745 MCO:SLP:WUP=-1'
2019.07.10 11:42:33 5 : MYSENSORS gateway ArduinoGateway: 5745 MCO:SLP:WUP=-1
2019.07.10 11:42:33 4 : MYSENSORS/RAW: /0;255;3;0;9;
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;9;/5750 MCO:SLP
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;9;5750 MCO:SLP/:MS=94,SMS=0
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;9;5750 MCO:SLP:MS=94,SMS=0/,I1=255,M1=2
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;9;5750 MCO:SLP:MS=94,SMS=0,I1=255,M1=2/55,I2=255,M
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;9;5750 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M/2=255
2019.07.10 11:42:33 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5750 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:33 5 : MYSENSORS gateway ArduinoGateway: 5750 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:33 4 : MYSENSORS/RAW: /0;255;3;0;9;
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;9;/5756 MCO:SLP
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;9;5756 MCO:SLP/:WUP=-1 0
2019.07.10 11:42:33 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5756 MCO:SLP:WUP=-1'
2019.07.10 11:42:33 5 : MYSENSORS gateway ArduinoGateway: 5756 MCO:SLP:WUP=-1
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0/;255;3;0;9;
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;9;/5760 MCO:SLP
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;9;5760 MCO:SLP/:MS=3000,SMS
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;9;5760 MCO:SLP:MS=3000,SMS/=0,I1=255,M1
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;9;5760 MCO:SLP:MS=3000,SMS=0,I1=255,M1/=255,I2=255,
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;9;5760 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,/M2=255
2019.07.10 11:42:33 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5760 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:33 5 : MYSENSORS gateway ArduinoGateway: 5760 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:33 4 : MYSENSORS/RAW: /0;255;3;0;
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;/9;5766 MCO:S
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;9;5766 MCO:S/LP:WUP=-1
2019.07.10 11:42:33 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5766 MCO:SLP:WUP=-1'
2019.07.10 11:42:33 5 : MYSENSORS gateway ArduinoGateway: 5766 MCO:SLP:WUP=-1
2019.07.10 11:42:33 4 : MYSENSORS/RAW: /0;255;3;0;
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;/9;5770 MCO:
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;9;5770 MCO:/SLP:MS=94,SM
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;9;5770 MCO:SLP:MS=94,SM/S=0,I1=255,M
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;9;5770 MCO:SLP:MS=94,SMS=0,I1=255,M/1=255,I2=255
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;9;5770 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255/,M2=255
2019.07.10 11:42:33 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5770 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:33 5 : MYSENSORS gateway ArduinoGateway: 5770 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:33 4 : MYSENSORS/RAW: /0;255;3;0;
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;/9;5776 MCO:S
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;9;5776 MCO:S/LP:WUP=-1
2019.07.10 11:42:33 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5776 MCO:SLP:WUP=-1'
2019.07.10 11:42:33 5 : MYSENSORS gateway ArduinoGateway: 5776 MCO:SLP:WUP=-1
2019.07.10 11:42:33 4 : MYSENSORS/RAW: /0;255;3;0;9;5779 MCO:S
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;9;5779 MCO:S/LP:MS=3000,S
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;9;5779 MCO:SLP:MS=3000,S/MS=0,I1=255
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;9;5779 MCO:SLP:MS=3000,SMS=0,I1=255/,M1=255,I2=25
2019.07.10 11:42:33 4 : MYSENSORS/RAW: 0;255;3;0;9;5779 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=25/5,M2=255
2019.07.10 11:42:33 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5779 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:33 5 : MYSENSORS gateway ArduinoGateway: 5779 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:36 4 : MYSENSORS/RAW: /0;25
2019.07.10 11:42:36 4 : MYSENSORS/RAW: 0;25/5;3;0;9;5785
2019.07.10 11:42:36 4 : MYSENSORS/RAW: 0;255;3;0;9;5785/ MCO:SLP:WUP
2019.07.10 11:42:36 4 : MYSENSORS/RAW: 0;255;3;0;9;5785 MCO:SLP:WUP/=-1
2019.07.10 11:42:36 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5785 MCO:SLP:WUP=-1'
2019.07.10 11:42:36 5 : MYSENSORS gateway ArduinoGateway: 5785 MCO:SLP:WUP=-1
2019.07.10 11:42:36 4 : MYSENSORS/RAW: /0;2
2019.07.10 11:42:36 4 : MYSENSORS/RAW: 0;2/55;3;0;9;579
2019.07.10 11:42:36 4 : MYSENSORS/RAW: 0;255;3;0;9;579/0 MCO:SLP:MS
2019.07.10 11:42:36 4 : MYSENSORS/RAW: 0;255;3;0;9;5790 MCO:SLP:MS/=94,SMS=0,I1
2019.07.10 11:42:36 4 : MYSENSORS/RAW: 0;255;3;0;9;5790 MCO:SLP:MS=94,SMS=0,I1/=255,M1=255,
2019.07.10 11:42:36 4 : MYSENSORS/RAW: 0;255;3;0;9;5790 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,/I2=255,M2=2
2019.07.10 11:42:36 4 : MYSENSORS/RAW: 0;255;3;0;9;5790 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=2/55
2019.07.10 11:42:36 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5790 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:36 5 : MYSENSORS gateway ArduinoGateway: 5790 MCO:SLP:MS=94,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:37 4 : MYSENSORS/RAW: /0;
2019.07.10 11:42:37 4 : MYSENSORS/RAW: 0;/255;3;0;9;57
2019.07.10 11:42:37 4 : MYSENSORS/RAW: 0;255;3;0;9;57/96 MCO:SLP:W
2019.07.10 11:42:37 4 : MYSENSORS/RAW: 0;255;3;0;9;5796 MCO:SLP:W/UP=-1 0;2
2019.07.10 11:42:37 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5796 MCO:SLP:WUP=-1'
2019.07.10 11:42:37 5 : MYSENSORS gateway ArduinoGateway: 5796 MCO:SLP:WUP=-1
2019.07.10 11:42:37 4 : MYSENSORS/RAW: 0;2/55;3;0;9;579
2019.07.10 11:42:37 4 : MYSENSORS/RAW: 0;255;3;0;9;579/9 MCO:SLP:M
2019.07.10 11:42:37 4 : MYSENSORS/RAW: 0;255;3;0;9;5799 MCO:SLP:M/S=3000,SMS=0
2019.07.10 11:42:37 4 : MYSENSORS/RAW: 0;255;3;0;9;5799 MCO:SLP:MS=3000,SMS=0/,I1=255,M1=2
2019.07.10 11:42:37 4 : MYSENSORS/RAW: 0;255;3;0;9;5799 MCO:SLP:MS=3000,SMS=0,I1=255,M1=2/55,I2=255,M2
2019.07.10 11:42:37 4 : MYSENSORS/RAW: 0;255;3;0;9;5799 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2/=255
2019.07.10 11:42:37 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5799 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255'
2019.07.10 11:42:37 5 : MYSENSORS gateway ArduinoGateway: 5799 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
2019.07.10 11:42:38 4 : MYSENSORS/RAW: /0;255;3;
2019.07.10 11:42:38 4 : MYSENSORS/RAW: 0;255;3;/0;9;5806 MCO
2019.07.10 11:42:38 4 : MYSENSORS/RAW: 0;255;3;0;9;5806 MCO/:SLP:WUP=-1
2019.07.10 11:42:38 4 : MYSENSORS Read: Rx: fr=000 ci=255 c=003(C_INTERNAL ) st=009(I_LOG_MESSAGE ) ack=0 '5806 MCO:SLP:WUP=-1'
2019.07.10 11:42:38 5 : MYSENSORS gateway ArduinoGateway: 5806 MCO:SLP:WUP=-1
2019.07.10 11:42:38 4 : MYSENSORS/RAW: /0;255;3;
2019.07.10 11:42:38 4 : MYSENSORS/RAW: 0;255;3;/0;9;5810 MC
list auf MYSENSOR Device
[code]Internals:
DEF 0
FUUID 5d258557-f33f-4184-3025-d30d37aa65ea8c14
IODev ArduinoGateway
NAME MYSENSOR_0
NR 250
STATE ???
TYPE MYSENSORS_DEVICE
ack 0
radioId 0
repeater 0
version 2.3.1
READINGS:
2019-07-10 09:57:51 tripped4 off
2019-07-10 09:57:48 tripped5 on
gets:
readingMappings:
2:
24:
name value12
34:
name flow2
35:
name volume2
4:
15:
name armed4
16:
name tripped4
5:
15:
name armed5
16:
name tripped5
8:
17:
name power8
2:
name status8
9:
17:
name power9
2:
name status9
retainedMessagesForRadioId:
sensorMappings:
0:
receives:
sends:
16
15
1:
receives:
sends:
16
15
10:
receives:
sends:
6
7
11:
receives:
sends:
11
12:
receives:
sends:
12
14
13:
receives:
24
sends:
17
18
54
55
56
24
14:
receives:
sends:
45
21
0
2
15:
receives:
sends:
13
43
16:
receives:
sends:
23
37
17:
receives:
sends:
18:
receives:
sends:
19:
receives:
36
sends:
36
2:
receives:
sends:
16
15
20:
receives:
32
sends:
33
50
32
21:
receives:
24
sends:
34
35
24
22:
receives:
sends:
37
43
23:
receives:
24
25
26
27
28
sends:
24
25
26
27
28
24:
receives:
sends:
37
43
25:
receives:
sends:
19
20
26:
receives:
40
17
3
sends:
40
17
3
27:
receives:
41
17
3
sends:
41
17
3
28:
receives:
40
sends:
40
29:
receives:
sends:
2
0
45
44
21
46
22
3:
receives:
2
17
sends:
2
17
30:
receives:
sends:
38
39
14
31:
receives:
sends:
2
16
32:
receives:
sends:
16
15
33:
receives:
sends:
37
16
15
Hast du das hier so belassen?#define SLEEP_MODE false
Oder irgendwo smartSleep verwendet? Das "SLP" sieht sehr seltsam aus...
Wenn ja: Ein GW sollte nicht schlafen :) . Raus damit...
Zitat von: Beta-User am 10 Juli 2019, 11:51:27
Hast du das hier so belassen?#define SLEEP_MODE false
Oder irgendwo smartSleep verwendet? Das "SLP" sieht sehr seltsam aus...
Wenn ja: Ein GW sollte nicht schlafen :) . Raus damit...
Sleep Mode ist nicht drin.
Hier mein Sketch
#define MY_DEBUG // Enable debug prints to serial monitor
#define MY_GATEWAY_SERIAL // Enable serial gateway
#define MY_INCLUSION_MODE_FEATURE // Enable inclusion mode
#include <MySensors.h>
#include <Bounce2.h>
unsigned long SLEEP_TIME = 3000; // Sleep time between reads (in milliseconds)
int i=0; // Laufvariable
/* Contact Sensors */
#define FIRST_CONTACT_PIN 4 // Id for the first Digi Pin for ContactSensor
#define NUMBER_OF_CONTACTS 2 // Anzahl der Kontaktsensoren (FIRST_CONTACT_PIN + x)
int lastSensorValue[NUMBER_OF_CONTACTS];
Bounce debouncer[NUMBER_OF_CONTACTS];
MyMessage msgContact(0, V_TRIPPED);
/* Contact Actors/Relays */
#define FIRST_RELAY_PIN 8 // Pin for Output on ArdBoard
#define NUMBER_OF_RELAYS 2 // Total number of attached relays
#define RELAY_ON 1 // GPIO value to write to turn on attached relay
#define RELAY_OFF 0 // GPIO value to write to turn off attached relay
bool lastRelayValue[NUMBER_OF_RELAYS];
/* For one Wire TempSensor DS18B20 */
#include <OneWire.h>
#include <DallasTemperature.h>
#define COMPARE_TEMP 1 // Send temperature only if changed? 1 = Yes 0 = No
#define ONE_WIRE_BUS 3 // Pin where dallase sensor is connected
#define MAX_ATTACHED_DS18B20 5
MyMessage msgTemp(0,V_TEMP);
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire); // Pass the oneWire reference to Dallas Temperature.
float lastTemperature[MAX_ATTACHED_DS18B20];
int numSensors=0;
boolean metric = true;
/* PULSE POWER METER */
#define WATER_METER_PIN 2 // The digital input you attached your sensor (Only 2 and 3 generates interrupt!)
#define PULSE_FACTOR 1000 // Number of blinks per m3 of your meter (one rotation/liter)
#define SLEEP_MODE false // flowvalue van only be reported when sleep mode is false
#define MAX_FLOW 40 // Max flow (l/min) value to reported
#define WATER_METER_CHILD_ID 2
uint32_t SEND_FREQUENCY = 30000; // Min. time between send (in milliseconds)
MyMessage flowMsg(WATER_METER_CHILD_ID, V_FLOW);
MyMessage volumeMsg(WATER_METER_CHILD_ID, V_VOLUME);
MyMessage lastCounterMsg(WATER_METER_CHILD_ID,V_VAR1);
double ppl = ((double)PULSE_FACTOR)/1000; // Pulses per Liter
volatile uint32_t pulseCount = 0;
volatile uint32_t lastBlink = 0;
volatile double flow = 0;
bool pcReceived = false;
uint32_t oldPulseCount = 0;
uint32_t newBlink = 0;
double oldflow = 0;
double volume = 0;
double oldvolume = 0;
uint32_t lastSend = 0;
uint32_t lastPulse = 0;
void before() {
sensors.begin(); // Startup up the OneWire library
}
void presentation() {
// Send the sketch version information to the gateway and Controller
sendSketchInfo("RelayGW", "1.0");
// Register binary input sensor to sensor_node (they will be created as child devices)
// You can use S_DOOR, S_MOTION or S_LIGHT here depending on your usage.
// If S_LIGHT is used, remember to update variable type you send in. See "msg" above.
for (i=0; i<NUMBER_OF_CONTACTS; i++) {
present(i+FIRST_CONTACT_PIN, S_DOOR); // SensorID übergeben (nicht zwingend PIN); hier Pin=SensorID
}
//present relay contacts
for (i=0; i<NUMBER_OF_RELAYS; i++) {
present(i+FIRST_RELAY_PIN, S_BINARY);
}
// Dallas Temp Sensor
// Fetch the number of attached temperature sensors
numSensors = sensors.getDeviceCount();
for (i=0; i<numSensors && i<MAX_ATTACHED_DS18B20; i++) {
present(i, S_TEMP);
}
// WATER METER PULSE SENSORS
present(WATER_METER_CHILD_ID, S_WATER);
}
void setup() {
// SETUP CONTACT SENSORS
for (i=0; i<NUMBER_OF_CONTACTS; i++)
{
pinMode(i+FIRST_CONTACT_PIN, INPUT); // Setup the button Activate internal pull-up; BoardPIN
digitalWrite(i+FIRST_CONTACT_PIN,HIGH); // Activate internal pull-up
debouncer[i] = Bounce(); // After setting up the buttons, setup debouncer
debouncer[i].attach(i+FIRST_CONTACT_PIN);
debouncer[i].interval(5);
lastSensorValue[i] = debouncer[i].read();
}
// SETUP RELAYS
for (i=0; i<NUMBER_OF_RELAYS; i++)
{
pinMode(i+FIRST_RELAY_PIN, OUTPUT); // set relay pin in output mode, BoardPIN!
digitalWrite(i+FIRST_RELAY_PIN,loadState(i+FIRST_RELAY_PIN)?RELAY_ON:RELAY_OFF); // set relay to last known state
}
// SETUP TEMPSENSORS
// Fetch the number of attached temperature sensors
numSensors = sensors.getDeviceCount();
// requestTemperatures() will not block current thread
sensors.setWaitForConversion(false);
// SETUP WATER METER PULSE SENSORS
pinMode(WATER_METER_PIN, INPUT_PULLUP);
pulseCount = oldPulseCount = 0;
request(WATER_METER_CHILD_ID, V_VAR1); // Fetch last known pulse count from gw
lastSend = lastPulse = millis();
attachInterrupt(digitalPinToInterrupt(WATER_METER_PIN), onWaterMeterPulse, FALLING);
}
void loop() {
getContactStates(); // Kontaktsensoren lesen
getTemperaturesFromSensors(); // Temperaturen lesen
getWaterMeterData(); // Wasserzähler
sleep(SLEEP_TIME);
}
void getContactStates() {
for (i=0; i<NUMBER_OF_CONTACTS; i++) {
debouncer[i].update();
int valueSensor = debouncer[i].read();
if (valueSensor != lastSensorValue[i]) {
send(msgContact.setSensor(i+FIRST_CONTACT_PIN).set(valueSensor==HIGH ? 1:0));
}
lastSensorValue[i] = valueSensor;
}
}
void getTemperaturesFromSensors() {
// Fetch temperatures from Dallas sensors
sensors.requestTemperatures();
// query conversion time and sleep until conversion completed
int16_t conversionTime = sensors.millisToWaitForConversion(sensors.getResolution());
sleep(conversionTime);
// Read temperatures and send them to controller
for (int i=0; i<numSensors && i<MAX_ATTACHED_DS18B20; i++) {
// Fetch and round temperature to one decimal
float temperature = static_cast<float>(static_cast<int>((getControllerConfig().isMetric?sensors.getTempCByIndex(i):sensors.getTempFByIndex(i)) * 10.)) / 10.;
// Only send data if temperature has changed and no error
#if COMPARE_TEMP == 1
if (lastTemperature[i] != temperature && temperature != -127.00 && temperature != 85.00) {
#else
if (temperature != -127.00 && temperature != 85.00) {
#endif
send(msgTemp.setSensor(i).set(temperature,1)); // Send in the new temperature
lastTemperature[i]=temperature; // Save new temperatures for next compare
}
}
}
// FUER WATERMETER
void onWaterMeterPulse() {
if (!SLEEP_MODE) {
uint32_t newBlink = micros();
uint32_t interval = newBlink - lastBlink;
if(interval!=0) {
lastPulse = millis();
if (interval<500000) {
// Sometimes we get interrupt on RISING, 500000=0.5second debounce (max 120L/m)
return;
}
flow = (60000000.0/interval) / ppl;
}
lastBlink = newBlink;
}
pulseCount++;
}
void getWaterMeterData() {
uint32_t currentTime = millis();
//Only send values at a maximum frequency or woken up from sleep
if (SLEEP_MODE || (currentTime - lastSend > SEND_FREQUENCY)) {
lastSend = currentTime;
if (!pcReceived) {
// last PulseCount not yet received from controller, request it again
request(WATER_METER_CHILD_ID, V_VAR1);
return;
}
if (!SLEEP_MODE && flow != oldflow) {
oldflow = flow;
Serial.print("l/m: ");
Serial.println (flow);
// Check that we don't get unreasonable large flow value
// could happen when long wraps or false interrupt triggered
if (flow<((uint32_t)MAX_FLOW)) {
send(flowMsg.set(flow,2)); // Send flow value to gateway
}
}
// No pulse count received in 2 min
if (currentTime-lastPulse > 120000) {
flow=0;
}
// Pulse Count has changed
if ((pulseCount != oldPulseCount) || (!SLEEP_MODE)) {
oldPulseCount = pulseCount;
Serial.print("pulseCount: ");
Serial.println(pulseCount);
send(lastCounterMsg.set(pulseCount)); // send pulseCount value to gateway in VAR1
double volume = ((double)pulseCount/((double)PULSE_FACTOR));
if ((volume!=oldvolume) || (!SLEEP_MODE)) {
oldvolume = volume;
Serial.print("volume: ");
Serial.println(volume, 3);
send(volumeMsg.set(volume, 3)); // send volume value to gateway
}
}
}
if (SLEEP_MODE) {
sleep(SEND_FREQUENCY);
}
}
void receive(const MyMessage &message) {
// We only expect one type of message from controller. But we better check anyway.
if (message.type == V_STATUS) {
//Change relay state
digitalWrite(message.sensor-1+FIRST_RELAY_PIN, message.getBool()?RELAY_ON:RELAY_OFF);
// store state in eeprom
saveState(message.sensor, message.getBool());
// Write some debug info
Serial.print("Incoming change for sensor:");
Serial.println(message.sensor);
Serial.print("from node:");
Serial.println(message.sender);
Serial.print(", New status: ");
Serial.println(message.getBool());
}
// WATERMETER
if (message.type==V_VAR1) {
uint32_t gwPulseCount = message.getULong();
pulseCount += gwPulseCount;
flow=oldflow=0;
Serial.print("Received last pulse count from gateway: ");
Serial.println(pulseCount);
pcReceived = true;
}
}
Doch, nach dem Loop gibt es ein Sleep von 3 Sekunden
...die node schläft...:
void loop() {
getContactStates(); // Kontaktsensoren lesen
getTemperaturesFromSensors(); // Temperaturen lesen
getWaterMeterData(); // Wasserzähler
sleep(SLEEP_TIME);
}
Bitte getWaterMeterData() in eine millis-basierte Variante "einpacken". SLEEP_MODE brauchst du nicht, aber der millis-basierte Logikpfad für "false" aus dem Ausgangs-Sketch könnte weiterhelfen....
Ansonsten: Hut ab, zumindest auf den ersten Blick recht gut umgesetzt!
Zitat von: Beta-User am 10 Juli 2019, 11:58:44
...die node schläft...:
void loop() {
getContactStates(); // Kontaktsensoren lesen
getTemperaturesFromSensors(); // Temperaturen lesen
getWaterMeterData(); // Wasserzähler
sleep(SLEEP_TIME);
}
Bitte getWaterMeterData() in eine millis-basierte Variante "einpacken". SLEEP_MODE brauchst du nicht, aber der millis-basierte Logikpfad für "false" aus dem Ausgangs-Sketch könnte weiterhelfen....
Ansonsten: Hut ab, zumindest auf den ersten Blick recht gut umgesetzt!
Danke Dir.
Ich bemühe mich ;)
ich habe erstmal alle sleeps rausgenommen und auch die getTemperature im loop aaskommentiert.
Die Node scheint wirklich heia gemacht zu haben.
Und zack, kaum ist die Node wach, liefert sie auch Readings.
Alle 10 Sekunden.
Jetzt noch Validieren ;)
Und danach die Temperatursensoren in millis packen. Das muss ich mir aber nochmal anschauen.
PS: Kann ich die Readings eigentlich umbenennen?
Geht genau gleich mit den Temp-Sensoren, würde aber ggf. ein längeres Intervall vorschlagen (braucht halt eine weitere Variable, aber das war es schon...).
Das mit Umbenennen geht, für die DS18B20 habe ich dazu sogar Sketche gemacht, die die ID's als Bemerkung liefern, was man dann wieder (mit MYSENSORS_DEVICE) für die automatische Umbenennung nutzen kann. Aber wenn du am Ende sowieso vereinzeln willst, würde ich mir das sparen und nur die Nodes/ReadingsProxy-Devices dann entsprechend benennen, ist m.E. einfacher.
Zitat von: Beta-User am 10 Juli 2019, 12:25:02
Geht genau gleich mit den Temp-Sensoren, würde aber ggf. ein längeres Intervall vorschlagen (braucht halt eine weitere Variable, aber das war es schon...).
Das mit Umbenennen geht, für die DS18B20 habe ich dazu sogar Sketche gemacht, die die ID's als Bemerkung liefern, was man dann wieder (mit MYSENSORS_DEVICE) für die automatische Umbenennung nutzen kann. Aber wenn du am Ende sowieso vereinzeln willst, würde ich mir das sparen und nur die Nodes/ReadingsProxy-Devices dann entsprechend benennen, ist m.E. einfacher.
Ok, ich glaube millis() und micros() habe ich soweit verstanden. Dabei scheint es sich um interne Zähler des Arduinos zu handeln.
Aber wo genau kann ich das bei den Temp Sensoren einbauen?
Kannst Du mir da kurz auf die Sprünge helfen?
Zitat von: Beta-User am 05 Juli 2019, 14:51:53
FHEM wartet dann einfach, bis was geliefert wird. Kann man natürlich zyklisch machen (und würde ich für einen Zähler auch so implementieren, iVm. einem Interrupt-Handler auf je Pin 2 und 3); Stichwort wäre dann millis() (ist wohl unter "non-blocking loop" zu finden).
Das mit "non-blocking loop" gilt für die 1-wires (im Prinzip) genauso, du mußt "nur" darauf achten, dass du die Zeit des Abfragens nicht mit sleep() definierst, sondern wait nimmst (sleep setzt millis zurück...).
Zitat von: Beta-User am 10 Juli 2019, 12:25:02würde aber ggf. ein längeres Intervall vorschlagen (braucht halt eine weitere Variable, aber das war es schon...).
Du hast dann eben einmal ein Variablenpaar pro Sendeintervall für die Pulse, z.B. "sendPulseTime" und "lastTimePulseSent" und ein weiteres, z.B. "sendTempTime" und "lastTimeTempSent", mit deren Hilfe du jeweils darauf prüfst, ob die Timer "abgelaufen" sind; wenn ja, wird der jeweilige Teil-Code ausgeführt und die Variablen resettet bzw. der aktuellen Zeit gefüllt.
Es gibt dazu auch eine lib, deren Namen ich schon wieder vergessen habe, aber eigentlich finde ich den millis()-Mechanismus nicht besonders aufwändig...
Zitat von: Beta-User am 10 Juli 2019, 15:11:49
Das mit "non-blocking loop" gilt für die 1-wires (im Prinzip) genauso, du mußt "nur" darauf achten, dass du die Zeit des Abfragens nicht mit sleep() definierst, sondern wait nimmst (sleep setzt millis zurück...). Du hast dann eben einmal ein Variablenpaar pro Sendeintervall für die Pulse, z.B. "sendPulseTime" und "lastTimePulseSent" und ein weiteres, z.B. "sendTempTime" und "lastTimeTempSent", mit deren Hilfe du jeweils darauf prüfst, ob die Timer "abgelaufen" sind; wenn ja, wird der jeweilige Teil-Code ausgeführt und die Variablen resettet bzw. der aktuellen Zeit gefüllt.
Es gibt dazu auch eine lib, deren Namen ich schon wieder vergessen habe, aber eigentlich finde ich den millis()-Mechanismus nicht besonders aufwändig...
meinst du diesen part:
// query conversion time and sleep until conversion completed
int16_t conversionTime = sensors.millisToWaitForConversion(sensors.getResolution());
sleep(conversionTime);
Korrekt. Dürfte aus dem Kopf heraus das einzige weitere Auftreten von sleep gewesen sein. Bitte aber nochmal gegenchecken, wie gesagt: sleep() und millis() sind keine Freunde... :) .
Zitat von: Beta-User am 10 Juli 2019, 15:11:49
Das mit "non-blocking loop" gilt für die 1-wires (im Prinzip) genauso, du mußt "nur" darauf achten, dass du die Zeit des Abfragens nicht mit sleep() definierst, sondern wait nimmst (sleep setzt millis zurück...). Du hast dann eben einmal ein Variablenpaar pro Sendeintervall für die Pulse, z.B. "sendPulseTime" und "lastTimePulseSent" und ein weiteres, z.B. "sendTempTime" und "lastTimeTempSent", mit deren Hilfe du jeweils darauf prüfst, ob die Timer "abgelaufen" sind; wenn ja, wird der jeweilige Teil-Code ausgeführt und die Variablen resettet bzw. der aktuellen Zeit gefüllt.
Es gibt dazu auch eine lib, deren Namen ich schon wieder vergessen habe, aber eigentlich finde ich den millis()-Mechanismus nicht besonders aufwändig...
Ach, ich glaube jetzt weiß ich was du meinst.
sowas wie
// SETUP
uint32_t SEND_TEMP_FREQUENCY = 30000;
uint32_t lastSendTemp = 0;
void loop() {
getContactStates(); // Kontaktsensoren lesen
if (millis() - lastSendTemp > SEND_TEMP_FREQUENCY) {
getTemperaturesFromSensors(); // Temperaturen lesen
lastSendTemp = millis();
}
//HIER ANALOG
getWaterMeterData(); // Wasserzähler
//sleep(SLEEP_TIME);
}
Zitat von: Beta-User am 10 Juli 2019, 15:21:02
Korrekt. Dürfte aus dem Kopf heraus das einzige weitere Auftreten von sleep gewesen sein. Bitte aber nochmal gegenchecken, wie gesagt: sleep() und millis() sind keine Freunde... :) .
aber da wird doch irgendwie eine Zeit von den Sensoren abgefragt oder nicht?
Ich hatte das so verstanden, dass der Arduino fragt, ob die Konvertierung im Sensor abgeschlossen ist
nope, das ist etwas anders gelagert.
Bei den Dingern richtet sich die Zeit, die zwischen dem Anstoßen einer Messung liegt und der Möglichkeit, das Ergebnis abzuholen, nach der Genauigkeit, die du haben willst bzw. auf die die eingestellt sind (750ms für höchste Genauigkeit = 12, in der Regel wird 1 Sek. als default verwendet). Der sleep()-code fragt also zunächst ab, wie lange er schlafen soll, und er fragt auch eigentlich nicht die Sensoren ab, sondern seine eigenen Einstellungen... Das steht leider nicht (mehr?) so explizit im Code. In diesem Beispiel ist es evtl. etwas klarer: https://github.com/rejoe2/MySensors_Small/blob/master/MyS098/MyS098.ino, auch wenn dort die conversionTime anders ermittelt wird (die Routine war eine Zeitlang als private markiert, daher habe ich den zentralen Teil "conversionTime = 750 / (1 << (12 - resolution));" einfach rüberkopiert...)
Aber warum sich einen Kopf machen und nicht einfach den Hinweis befolgen, der im Originalcode direkt darüber steht:
// sleep() call can be replaced by wait() call if node need to process incoming messages (or if node is repeater)
Dass das für eine GW-Node umso mehr gilt, sollte jetzt ja bekannt sein ;D .
Zitat von: Beta-User am 10 Juli 2019, 15:39:25
nope, das ist etwas anders gelagert.
Bei den Dingern richtet sich die Zeit, die zwischen dem Anstoßen einer Messung liegt und der Möglichkeit, das Ergebnis abzuholen, nach der Genauigkeit, die du haben willst bzw. auf die die eingestellt sind (750ms für höchste Genauigkeit = 12, in der Regel wird 1 Sek. als default verwendet). Der sleep()-code fragt also zunächst ab, wie lange er schlafen soll, und er fragt auch eigentlich nicht die Sensoren ab, sondern seine eigenen Einstellungen... Das steht leider nicht (mehr?) so explizit im Code. In diesem Beispiel ist es evtl. etwas klarer: https://github.com/rejoe2/MySensors_Small/blob/master/MyS098/MyS098.ino, auch wenn dort die conversionTime anders ermittelt wird (die Routine war eine Zeitlang als private markiert, daher habe ich den zentralen Teil "conversionTime = 750 / (1 << (12 - resolution));" einfach rüberkopiert...)
Aber warum sich einen Kopf machen und nicht einfach den Hinweis befolgen, der im Originalcode direkt darüber steht:
// sleep() call can be replaced by wait() call if node need to process incoming messages (or if node is repeater)
Dass das für eine GW-Node umso mehr gilt, sollte jetzt ja bekannt sein ;D .
:-)
ich habe aber noch eine andere Art gefunden.
Was hälst du davon:
void getTemperaturesFromSensors() {
CURRENT_MILLIS = millis(); // The time since the sensor started, counted in milliseconds. This script tries to avoid using the Sleep function, so that it could at the same time be a MySensors repeater.
// Let's measure the temperature
if(CURRENTLY_MEASURING == true && CURRENT_MILLIS - PREVIOUS_MEASUREMENT_MILLIS >= MEASUREMENT_INTERVAL){ // If we'e not calculating, and enough time has passed, we'll start again.
CURRENTLY_MEASURING == false; // We're measuring, so let's take it off our to-do list.
Serial.print("Starting new measurement(s)\n");
PREVIOUS_MEASUREMENT_MILLIS = CURRENT_MILLIS; // Mark the time of the initialiation of this measurement.
// Fetch temperatures from Dallas sensors
sensors.requestTemperatures();
// query conversion time. Apparently it takes a while to calculate?
CONVERSION_TIME = sensors.millisToWaitForConversion(sensors.getResolution());
CURRENTLY_CALCULATING = true; //Next step is to re-calculate the temperature again.
}
// Let's calculate and send the temperature
if(CURRENTLY_CALCULATING == true && CURRENT_MILLIS > PREVIOUS_MEASUREMENT_MILLIS + CONVERSION_TIME ){
CURRENTLY_CALCULATING = false; // check calculating off the to-do list too.
for (int i=0; i<numSensors && i<MAX_ATTACHED_DS18B20; i++) { // Loop through all the attached temperatur sensors.
float temperature = static_cast<float>(static_cast<int>((getControllerConfig().isMetric?sensors.getTempCByIndex(i):sensors.getTempFByIndex(i)) * 10.)) / 10.; // Fetch and round temperature to one decimal
Serial.print("Sensor #");
Serial.print(i);
Serial.print(" says it is ");
Serial.print(temperature);
Serial.print(" degrees\n");
if(temperature != -127.00 && temperature != 85.00){ // avoid working with measurement errors.
if (COMPARE_TEMP == 1 && lastTemperature[i] == temperature){
Serial.print("Not sending it though, because it's the same temperature as before.\n");
}
else
{
Serial.print("Sending the temperature to the gateway.\n");
send(msgTemp.setSensor(i).set(temperature,1));
lastTemperature[i] = temperature; // Save new temperatures to be able to compare in the next round.
}
}
}
CURRENTLY_MEASURING = true; // Both tasks are done. Now we'll just wait for the measurement interval to be over.
}
}
bisschen viel Serial.print, zugegeben, aber das kann ja noch raus
:)
Das sieht auf den ersten Blick sehr gut aus!
Schön, dass du das gefunden hast, es paßt m.E. noch besser zu deinem "sonstigen Zeug" als mein Code (ich habe in der Regel nur wenige bounce()-Eingänge, da ist mal eine knappe halbe Sekunde wait() alle paar Minuten nicht wichtig... ::) ).
Aber die conversionTime würde ich trotzdem vorab berechnen, das erhöht m.E. zumindest die Lesbarkeit des Codes an der Stelle, ohne was wesentliches zu ändern.
ok. nun habe ich meinen sketch noch angepasst.
Beim anschließen hat sich nun ein seltsames Phänomen ergeben.
Kann es sein, dass 2 Tempsensoren DS18B20 und 1x TCRT5000 nicht zugleich mit genügend Strom versorgt werden können?
Sobald alles angeschlossen ist, werden die OneWire Sensoren nicht mehr gefunden.
Klemme ich TCRT5000 ab, werden die OneWire Sensoren gefunden.
Wie versorgt ihr die Sensoren mit Strom?
Zwei DS18B20 und ein TCRT5000-Board sollten eigentlich noch lange kein Stromversorgungsproblem machen...
Die Versorgung erfolgt über die 5V-Schiene, hoffe ich doch? (Die 3.3V sind ein anderes Thema...)
Wie gesagt, ich betreibe GW's als GW-only, aber die DS18B20 brauchen fast keinen Strom. Da scheint mir was anderes im Argen zu liegen (kann natürlich aber auch das Motherboard sein, dass da quer treibt).
Zitat von: Beta-User am 11 Juli 2019, 07:13:25
Zwei DS18B20 und ein TCRT5000-Board sollten eigentlich noch lange kein Stromversorgungsproblem machen...
Die Versorgung erfolgt über die 5V-Schiene, hoffe ich doch? (Die 3.3V sind ein anderes Thema...)
Wie gesagt, ich betreibe GW's als GW-only, aber die DS18B20 brauchen fast keinen Strom. Da scheint mir was anderes im Argen zu liegen (kann natürlich aber auch das Motherboard sein, dass da quer treibt).
Versorgung läuft über die 5V.
Wie kann ich da nun weiter testen?
OneWire ist Pin3,
TCRT5000 ist Pin2
Als erstes würde ich zum Testen mal einen aktiven Hub dazwischenschalten. Dann weißt du, ob es an der Versorgung des Arduino selbst (=motherboard) hängt.
Was 1wire+D3 angeht: Da die Verkabelung jetzt klar ist, kannst du tatsächlich auch einen anderen PIN nehmen und den interruptfähigen erst mal weiter frei halten, man weiß ja nie...
Zitat von: Beta-User am 11 Juli 2019, 09:38:24
Als erstes würde ich zum Testen mal einen aktiven Hub dazwischenschalten. Dann weißt du, ob es an der Versorgung des Arduino selbst (=motherboard) hängt.
Was 1wire+D3 angeht: Da die Verkabelung jetzt klar ist, kannst du tatsächlich auch einen anderen PIN nehmen und den interruptfähigen erst mal weiter frei halten, man weiß ja nie...
Aktiven Hub hatte ich dazwischen.
Hat nichts gebracht.
Benötigt 1wire keinen Interruptfähigen Pin?
Zitat von: flipse am 11 Juli 2019, 10:11:15
Aktiven Hub hatte ich dazwischen.
Hat nichts gebracht.
Kannst du irgendwie messen, was welches Bauteil schluckt? Das kommt mir seltsam vor...
ZitatBenötigt 1wire keinen Interruptfähigen Pin?
Nein, es ging eigentlich bei dem Hinweis, du solltest es so machen wie bei MySensors, nur darum, dass du die Verkabelung nochmal ansiehst (da gibt's eine schöne Grafik dazu - wie eigentlich zu allen Sensoren). Ich nutze praktisch nie D2 oder 3 für 1wire ;) (und finde es auch nicht optimal, dass das @MySensors.org - vermutlich im "Nachgang" zu den "normalen" 1-wire-Beispielsketchen von Arduino allgemein - überhaupt auf D3 liegt...).
Zitat von: Beta-User am 11 Juli 2019, 10:18:18
Kannst du irgendwie messen, was welches Bauteil schluckt? Das kommt mir seltsam vor...
Leider habe ich hier kein Mess-Equipment um das zu testen
Zitat von: Beta-User am 11 Juli 2019, 10:18:18
Nein, es ging eigentlich bei dem Hinweis, du solltest es so machen wie bei MySensors, nur darum, dass du die Verkabelung nochmal ansiehst (da gibt's eine schöne Grafik dazu - wie eigentlich zu allen Sensoren). Ich nutze praktisch nie D2 oder 3 für 1wire ;) (und finde es auch nicht optimal, dass das @MySensors.org - vermutlich im "Nachgang" zu den "normalen" 1-wire-Beispielsketchen von Arduino allgemein - überhaupt auf D3 liegt...).
Anhand der Schaubilder habe ich auch meinnnnnnne Fehlerquelle identifiziert.
Ich werde mal einen anderen PIN versuchen.m verspreche mir aber irgendwie wenig Erfolg davon.
Zitat von: flipse am 11 Juli 2019, 10:21:27
Leider habe ich hier kein Mess-Equipment um das zu testen
Hast du ein zweites Modul irgendwo rumliegen? Das würde ich einfach mal tauschen...
Evtl. schaust du auch mal, es gibt einen Thread zu dem Modul. Da gab es Vorschläge zum "Modden", allerdings eher zum Entprellen, weniger zum Verringern des Energiebedarfs (was aber bisher noch nie ein Thema war).
Zitatverspreche mir aber irgendwie wenig Erfolg davon.
Der PIN ist ziemlich sicher nicht die Ursache... Sonst hätte der Arduino einen gewaltigen Hau...
Zitat von: Beta-User am 11 Juli 2019, 10:30:28
Hast du ein zweites Modul irgendwo rumliegen? Das würde ich einfach mal tauschen...
Evtl. schaust du auch mal, es gibt einen Thread zu dem Modul. Da gab es Vorschläge zum "Modden", allerdings eher zum Entprellen, weniger zum Verringern des Energiebedarfs (was aber bisher noch nie ein Thema war).Der PIN ist ziemlich sicher nicht die Ursache... Sonst hätte der Arduino einen gewaltigen Hau...
Nee. Leider habe ich keinen zweiten Arduino hier.
einen 2. TCRT5000 meinte ich eigentlich... (auch mit dem Modding)
Ja, davon habe ich noch einige.
Meinst Du der verursacht das Problem?
Soll ich die mal tauschen?
Na ja, eher ist es der TCRT, der ein Problem hat wie der Arduino, jedenfalls, wenn es ein echter FTDI ist (Sereinnr. oder die Produktkennung (Text) ggf. mal ändern....).
Zitat von: Beta-User am 11 Juli 2019, 11:24:41
(Sereinnr. oder die Produktkennung (Text) ggf. mal ändern....).
wo kann ich das denn ändern?
Entweder mit einem Tool, was FTDI für Windo.*-Nutzer auf deren Webseite bereitstellt, oder du nimmst das Linux-Tool von hier: http://rtr.ca/ft232r/ (das nutze ich dafür. Bitte aber nicht die "Basisdaten" HerstellerID und ProductID (?) ändern, sonst erkennt das OS das Teil nicht mehr ohne weiteres als FTDI...).
Zitat von: Beta-User am 11 Juli 2019, 11:40:46
Entweder mit einem Tool, was FTDI für Windo.*-Nutzer auf deren Webseite bereitstellt, oder du nimmst das Linux-Tool von hier: http://rtr.ca/ft232r/ (das nutze ich dafür. Bitte aber nicht die "Basisdaten" HerstellerID und ProductID (?) ändern, sonst erkennt das OS das Teil nicht mehr ohne weiteres als FTDI...).
Hier verstehe ich aber noch nicht was das bringen könnte und in was ich irgendwas umbennen soll.
Als aus deiner Sicht soll ich Daten des Arduinos anpassen?
Ich bin gerade etwas lost. Sorry
Der Punkt bei den FTDI's ist der: es gibt recht viele gefälschte (ist zwar nur eine sehr kleine Stichprobel, aber ich habe z.B. ca. 20-30% Fehllieferungen erhalten...). Die geben sich zwar gg. dem OS als FTDI aus, haben aber uU. eben Fehlfunktionen (darunter eventuell auch im Powermanagement).
Daher stellt sich bei den Arduinos "mit FTDI" immer die Frage, ob man jetzt einen Originalen oder einen Fake erwischt hat. Bei den Fakes klappt das Umbenennen nach meinen bisherigen Erfahrungen nicht ;) . Es reicht, z.B. die Produktbezeichnung zu ändern oder die Seriennummer.
Zitat von: Beta-User am 11 Juli 2019, 11:55:08
Der Punkt bei den FTDI's ist der: es gibt recht viele gefälschte (ist zwar nur eine sehr kleine Stichprobel, aber ich habe z.B. ca. 20-30% Fehllieferungen erhalten...). Die geben sich zwar gg. dem OS als FTDI aus, haben aber uU. eben Fehlfunktionen (darunter eventuell auch im Powermanagement).
Daher stellt sich bei den Arduinos "mit FTDI" immer die Frage, ob man jetzt einen Originalen oder einen Fake erwischt hat. Bei den Fakes klappt das Umbenennen nach meinen bisherigen Erfahrungen nicht ;) . Es reicht, z.B. die Produktbezeichnung zu ändern oder die Seriennummer.
Achsooo. Du willst, dass ich mal versuche Änderungen vorzunehmen und wenn sie gelingen, ist der FTDI Original und wenn nicht, fake?
...wollen?
Es ist ein Vorschlag, mehr nicht. Ansonsten tappe ich halt einfach im Dunkeln, warum das nicht gehen will. Ist m.E. wirklich kein Problem, "die paar" Geräte parallel zu betreiben (das kann bei den Kontaktsensoren anders sein, je nach Leitungslänge usw.).
Ich bin gerade dabei, den TCRT5000 zu validieren.
An sich funktioniert er nicht schlecht, aber er meldet Wasser, obwohl kein Wasser gezogen wird.
die Differenz vom Zähler zu dem, was der Sensor gemeldet hat, sind heute morgen schon 25 Liter.
Wie kann ich vorgehen zur Fehlerindikation?
Es gibt einen (die Tage noch aktiven) Thread zu diesem Modul, wie bereits erwähnt. Bitte erst mal dort nachsehen (Kondensator/Widerstand tauschen...).
Zitat von: Beta-User am 12 Juli 2019, 07:06:50
Es gibt einen (die Tage noch aktiven) Thread zu diesem Modul, wie bereits erwähnt. Bitte erst mal dort nachsehen (Kondensator/Widerstand tauschen...).
Meinst Du diesen Thread?
https://forum.fhem.de/index.php?topic=54408.0
Im Löten bin ich leider nicht so fit.
Gibt es Alternativen?
Ja, der Thread war gemeint, und leider ist es in der Regel am besten, wenn man den Fehler an der Quelle beseitigt, also Lötet, statt irgendeinen workaround dahinter zu schalten.
Würde also empfehlen, das Löten zu üben ;) . Sind ja keine großen Werte, die du da ggf. "verbrutzelst"....