MySensor Relay anbinden

Begonnen von Meister_Petz, 06 Januar 2015, 20:23:53

Vorheriges Thema - Nächstes Thema

Meister_Petz

Moin,

hab alle möglichen Attribute getestet, aber ich bekomm das Relais nicht zum Laufen. Auch ein Button funktioniert nicht.

Der Code des Relais ist: MySensors RelayActuator

Die automatische Definition für das MySensor Device ist:

define MYSENSOR_100 MYSENSORS_DEVICE 100
attr MYSENSOR_100 IODev gateway
attr MYSENSOR_100 mapReading_switch1 1 switch
attr MYSENSOR_100 mode repeater
attr MYSENSOR_100 setReading_switch1 on,off
attr MYSENSOR_100 version 1.4.1

Folgendes wird angezeigt:
CFGFN      
DEF                     100
IODev            gateway
I_SKETCH_NAME      Relay
I_SKETCH_VERSION           1.0
NAME            MYSENSOR_100
NR               28
STATE            ???
TYPE                    MYSENSORS_DEVICE
ack               0
protocol                 1.4.1
radioId            100
repeater                 1

Im Log meldet sich der Sensor mit:
2015.01.06 20:14:42 5: MYSENSORS gateway gateway: read: 100-100-0 s=1,c=0,t=3,pt=0,l=5:1.4.1
2015.01.06 20:14:42 5: MYSENSORS/RAW: 100;1;0;0;3/;1.4.1
2015.01.06 20:14:42 5: MYSENSORS Read: Rx: fr=100 ci=001 c=000(C_PRESENTATION) st=003(S_LIGHT         ) ack=0 '1.4.1'

Kann mir jemand einen Tipp geben?

Danke



hexenmeister

Sieht bei mir auch so ähnlich aus...
define MYSENSOR_127 MYSENSORS_DEVICE 127
attr MYSENSOR_127 IODev mysensors
attr MYSENSOR_127 mapReading_switch 1 switch
attr MYSENSOR_127 mode repeater
attr MYSENSOR_127 setCommands on:switch:off off:switch:on
attr MYSENSOR_127 setReading_switch on,off
attr MYSENSOR_127 version 1.4


Nur die Version ist eine ältere... Der gateway habe ich jedoch bereits auf 1.4.1 upgedated.
Es geht alles. Ich kann schalten mit
set MYSENSOR_127 on
set MYSENSOR_127 off


Bist Du sicher, dass Du kein Hardwareproblem hast?
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

hexenmeister

#2
P.S. mein selbsterweitertes Sensor-Sketch mit Temp/Humidity/Motion/Distance(Ultrasonic)/Licht funktioniert auch.
define MYSENSOR_1 MYSENSORS_DEVICE 1
attr MYSENSOR_1 IODev mysensors
attr MYSENSOR_1 mapReading_brightness 3 brightness
attr MYSENSOR_1 mapReading_distance 2 distance
attr MYSENSOR_1 mapReading_humidity 0 humidity
attr MYSENSOR_1 mapReading_motion 4 tripped
attr MYSENSOR_1 mapReading_temperature 1 temperature
attr MYSENSOR_1 mode node
attr MYSENSOR_1 version 1.4


Ich sehe gerade, der Temperatursensor ist ausgefallen, ist aber kein Wunder bei dem monströsen Testaufbau (lag schon etwas länger hier run) ;)

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Meister_Petz

Danke für die Antwort! Jetzt klappts auch bei mir!

Jetzt fehlt mir nur noch, dass er mir den aktuellen Zustand anzeigt.

Kannst Du da auch helfen?

Danke

fh168

Hallo Hexenmeister,

ich sehe gerade, du hast einen multi-sensor sketch gezaubert.
Kann du es auch hinbekommen, das man aus dem TFK (mit sleep-modus) auch gleichzeitig den Batterie-Status [%] liefert, aber NUR bei einem Alarm (-also Fenster / tür auf zu, damit strom gespart wird) ?
Die Hardware mit dem Batterie-Status kann man ja im MySensors Forum sehen. Diese besteht ja nur aus einem Spannungsteiler.

LG
/robin
Hue, Lacrosse, PCA301, MySensors, V 1.67 CUL 868 V3.4, Lacrosse-WLAN-Gateway, Tasmota RF-

hexenmeister

Zitat von: Meister_Petz am 07 Januar 2015, 10:31:00
Jetzt fehlt mir nur noch, dass er mir den aktuellen Zustand anzeigt.

mit
attr MY_SENSORS_127 stateFormat switch
sollte der Zustand im state angezeigt werden.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

hexenmeister

Zitat von: fh168 am 07 Januar 2015, 10:49:59
ich sehe gerade, du hast einen multi-sensor sketch gezaubert.
Ja, testweise um verschiedene Möglichkeiten auszuprobieren. War einfach.
Ich bastele jetzt aber an einem Device, das in eine UP-Dose rein muss. Soll Tür-Kontakt, Bewegungsmelder und Lichtsensor bekommen. Evtl. auch eine LED (am besten 2-farbig oder RGB) zur Statusanzeige. Batterien wird es nicht haben, da in der Dose 5 und 12 Volt liegen.

ZitatKann du es auch hinbekommen, das man aus dem TFK (mit sleep-modus) auch gleichzeitig den Batterie-Status [%] liefert, aber NUR bei einem Alarm (-also Fenster / tür auf zu, damit strom gespart wird) ?
Die Hardware mit dem Batterie-Status kann man ja im MySensors Forum sehen. Diese besteht ja nur aus einem Spannungsteiler.
Sollte kein Problem sein. Einfach messen (wann du es eben haben willst) und senden. Eine entsprechende Nachricht gibt es ja schon. Je nachdem, wie die Versorgung organisiert ist, kann man entweder interne Messung verwenden, oder wie z.B. in dem Dirks Universalsensor aufbauen. Ist in der Tat nur ein Spannungsteiler mit der Möglichkeit ihn abzuschalten (Strom sparen).
Wo genau liegt das Problem?
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Meister_Petz

Zitat von: hexenmeister am 07 Januar 2015, 13:51:33
mit
attr MY_SENSORS_127 stateFormat switch
sollte der Zustand im state angezeigt werden.

Many Thanks! Jetzt klappt auch das. Zeitschaltuhr geht auch schon...

Danke

fh168

Hue, Lacrosse, PCA301, MySensors, V 1.67 CUL 868 V3.4, Lacrosse-WLAN-Gateway, Tasmota RF-

hexenmeister

Muss ich mir ansehen, dürfte nicht so schwer werden. Habe gerade aber haufen Baustellen gleichzeitig :(
Musst Du externen Strom-Teiler verwenden? Benutzt Du Spannungregler (also µC-Spannung ist nicht die Versorgungsspannung)?

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Meister_Petz

Mir ist noch was eingefallen... Wenn ich einen MySensor mit mehreren Relais habe. Wie kann man das realisieren, dass man verschiedene Relais schaltet?

Baue ich das in eine Definition oder baue ich dafür einzelne Devices

vieleicht so?:

define Relais1 MYSENSORS_DEVICE 127
attr Relais1 mapReading_switch 1 switch
attr...

define Relais2 MYSENSORS_DEVICE 127
attr Relais2 mapReading_switch 1 switch
attr...

Vielen Dank außerdem! Das ist wirklich eine Hilfe!

Petz

hexenmeister

Habe mit mehreren Relays nicht ausprobiert, aber eigentlich müsste alles in einem Device zusammen liegen.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

thunder1902

Damit kann ich dienen - hab mir mal einen 3-Fach-Relais-Schalter zusammengebastelt:

// Example sketch f�r a "light switch" where you can control light or something
// else from both vera and a local physical button (connected between digital
// pin 3 and GND).
// This node also works as a repeader for other nodes

#include <MySensor.h>
#include <SPI.h>
#include <Bounce2.h>

#define RELAY_PIN1  3  // Arduino Digital I/O pin number for relay
#define RELAY_PIN2  4  // Arduino Digital I/O pin number for relay
#define RELAY_PIN3  5  // Arduino Digital I/O pin number for relay
#define BUTTON_PIN1  6  // Arduino Digital I/O pin number for button
#define BUTTON_PIN2  7  // Arduino Digital I/O pin number for button
#define BUTTON_PIN3  8  // Arduino Digital I/O pin number for button

#define CHILD_ID 1   // Id of the sensor child
#define RELAY_ON 0
#define RELAY_OFF 1

Bounce debouncer1 = Bounce();
Bounce debouncer2 = Bounce();
Bounce debouncer3 = Bounce();
int oldValue1=0;
int oldValue2=0;
int oldValue3=0;
bool state1;
bool state2;
bool state3;
MySensor gw;
MyMessage msg1(1,V_LIGHT);
MyMessage msg2(2,V_LIGHT);
MyMessage msg3(3,V_LIGHT);

void setup() 

  gw.begin(incomingMessage, AUTO, true);

  // Send the sketch version information to the gateway and Controller
  gw.sendSketchInfo("Relay & Button", "1.0");

// Setup the button
  pinMode(BUTTON_PIN1,INPUT);
  pinMode(BUTTON_PIN2,INPUT);
  pinMode(BUTTON_PIN3,INPUT);
  // Activate internal pull-up
  digitalWrite(BUTTON_PIN1,HIGH);
  digitalWrite(BUTTON_PIN2,HIGH);
  digitalWrite(BUTTON_PIN3,HIGH);   
 
  // After setting up the button, setup debouncer
  debouncer1.attach(BUTTON_PIN1);
  debouncer2.attach(BUTTON_PIN2);
  debouncer3.attach(BUTTON_PIN3);
  debouncer1.interval(5);
  debouncer2.interval(5);
  debouncer3.interval(5);

  // Register all sensors to gw (they will be created as child devices)
  gw.present(1, S_LIGHT);
  gw.present(2, S_LIGHT);
  gw.present(3, S_LIGHT);

  // Make sure relays are off when starting up
  digitalWrite(RELAY_PIN1, RELAY_OFF);
  digitalWrite(RELAY_PIN2, RELAY_OFF); 
  digitalWrite(RELAY_PIN3, RELAY_OFF); 
  // Then set relay pins in output mode
  pinMode(RELAY_PIN1, OUTPUT);   
  pinMode(RELAY_PIN2, OUTPUT);   
  pinMode(RELAY_PIN3, OUTPUT);     
     
  // Set relay to last known state (using eeprom storage)
  state1 = gw.loadState(1);
  digitalWrite(RELAY_PIN1, state1?RELAY_ON:RELAY_OFF);
  state2 = gw.loadState(2);
  digitalWrite(RELAY_PIN2, state2?RELAY_ON:RELAY_OFF);
  state3 = gw.loadState(3);
  digitalWrite(RELAY_PIN3, state3?RELAY_ON:RELAY_OFF); 
}


/*
*  Example on how to asynchronously check for new messages from gw
*/
void loop()
{
  gw.process();
  debouncer1.update();
  debouncer2.update();
  debouncer3.update();
  // Get the update value
  int value1 = debouncer1.read();
  if (value1 != oldValue1 && value1==0) {
      gw.send(msg1.set(state1?false:true), true); // Send new state and request ack back
  }
  oldValue1 = value1;
 
  // Get the update value
  int value2 = debouncer2.read();
  if (value2 != oldValue2 && value2==0) {
      gw.send(msg2.set(state2?false:true), true); // Send new state and request ack back
  }
  oldValue2 = value2;

  // Get the update value
  int value3 = debouncer3.read();
  if (value3 != oldValue3 && value3==0) {
         
      gw.send(msg3.set(state3?false:true), true); // Send new state and request ack back
  }
  oldValue3 = value3; 
 
}

void incomingMessage(const MyMessage &message) {
  // We only expect one type of message from controller. But we better check anyway.
  if (message.isAck()) {
     Serial.println("This is an ack from gateway");
  }

  if (message.type == V_LIGHT) {
     // Change relay state
     if(message.sensor==1){
digitalWrite(RELAY_PIN1, message.getBool()?RELAY_ON:RELAY_OFF);
         state1=message.getBool();
}
if(message.sensor==2){
digitalWrite(RELAY_PIN2, message.getBool()?RELAY_ON:RELAY_OFF);
        state2=message.getBool();
}
if(message.sensor==3){
digitalWrite(RELAY_PIN3, message.getBool()?RELAY_ON:RELAY_OFF);
          state3=message.getBool();

}
     
// Store state in eeprom
      gw.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());
   }
}


Funktioniert auch. Mein Problem ist nur, wie lasse ich in Fhem 3 Glühbirnen-Symbole in einem Device anzeigen? Bisher kannte ich nur ein Glühlampen-Symbol (an/aus) pro Device...??

hexenmeister

Du kannst eine ReadingsGroup dafür erstellen. Damit kannst Du je schönere Bedienoberflächen bauen.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Porky666

Hallo zusammen,
hier ein Beispiel aus dem mysensors.org Forum ein Sketch für 8 Relais
funktioniert super über die 6 Analog Ausgänge und 2 Digital Ausgänge.
Hab ich heut mal getestet -- Prima Sache um sich eine 8 Fach Steckdosenleiste zusammen zu schrauben.

Nur Vorsicht mit der 230V Seite und nicht Überlasten.

  // Example sketch showing how to control physical relays.
  // This example will remember relay state even after power failure.
  // Using an Array to define the pin's

#include <MySensor.h>
#include <SPI.h>

const int RELAY[] = {A0, A1, A2, A3, A4, A5, 7, a8}; // I/O pins for the relays
#define NUMBER_OF_RELAYS 8 // 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

MySensor gw;

void setup() 
{   
  // Initialize library and add callback for incoming messages
  gw.begin(incomingMessage, AUTO, true);
  // Send the sketch version information to the gateway and Controller
  gw.sendSketchInfo("Relay", "1.0");

  // Fetch relay status
  for (int sensor=1, pin=0; sensor<=NUMBER_OF_RELAYS;sensor++, pin++) {
    // Register all sensors to gw (they will be created as child devices)
    gw.present(sensor, S_LIGHT);
    // Then set relay pins in output mode
    pinMode(RELAY[pin], OUTPUT);   
    // Set relay to last known state (using eeprom storage)
    digitalWrite(RELAY[pin], gw.loadState(sensor)?RELAY_ON:RELAY_OFF);
  }
}

void loop()
{
  // Alway process incoming messages whenever possible
  gw.process();
}

void incomingMessage(const MyMessage &message) {
  // We only expect one type of message from controller. But we better check anyway.
   if (message.type==V_LIGHT) {
     // Change relay state
     digitalWrite(RELAY[message.sensor-1], message.getBool()?RELAY_ON:RELAY_OFF);
     // Store state in eeprom
     gw.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());
   }
}


lg

Stefan
ODROID U3 1GB Ubuntu immer aktuell
FHEM immer das aktuellste Development
Defined modules:

COC; CULv3; HMLAN :HM-CC-SCD,HM-CC-TC,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-SCI-3-FM,HM-SEC-SC,HM-SEC-WIN,HM-WDS10-TH-O; ESA2000; FS20; HUEBridge; Huedevices; IT; JeeLink :PCA301 :panstamp:

Porky666

Hier ein paar Bilder dazu:


lg

Stefan
ODROID U3 1GB Ubuntu immer aktuell
FHEM immer das aktuellste Development
Defined modules:

COC; CULv3; HMLAN :HM-CC-SCD,HM-CC-TC,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-SCI-3-FM,HM-SEC-SC,HM-SEC-WIN,HM-WDS10-TH-O; ESA2000; FS20; HUEBridge; Huedevices; IT; JeeLink :PCA301 :panstamp:

Meister_Petz

Super,

dann harre ich nun nur noch darauf, dass die Relais einteffen. ;-)

Hauswart

Wo bezieht ihr denn eure Relais?
Bin noch am Überlegenheit ob ich wirklich Relais aus China bestellen soll...
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

drdownload

Ah, sehr nett, der Multi-Sensor Sketch ist genau das was ich auch vorhatte. Läuft der mit Batterien oder mit 230?

Außerdem überlege ich meine UP-Schalter per Funk auszuwerten, das wäre doch einfach der Button sketch von mysensors oder?
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

hexenmeister

Zitat von: drdownload am 13 Januar 2015, 09:50:32
Ah, sehr nett, der Multi-Sensor Sketch ist genau das was ich auch vorhatte. Läuft der mit Batterien oder mit 230?
Meinst Du etwa mein Aufbau auf dem Steckbrett? Läuft mit USB ;)
Ich habe gestern noch eine Version (Lichtintensität+Bewegungsmelder) für die UP-Dose bebaut. Wird mit 5V gespeist (Kabel für 1wire Bus liegt je da).
Mit Batterien geht auch, sollten auch lange halten. Der Verbrauch im Tiefschlaf war erfreulich gering (ich hatte einen 3,3V/8MHz Arduino pro mini genommen). Aber mit einem PIR kann man das nur schlecht Schätzen, hängt ja davon ab, wie oft der 'einspringen' muss.
Mit 230V würde ich generell keinen Selbstbau betreiben. Aus versicherungstechnischen Gründen.

Zitat
Außerdem überlege ich meine UP-Schalter per Funk auszuwerten, das wäre doch einfach der Button sketch von mysensors oder?
Ja.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Porky666

Hallo an alle Bastler,

natürlich sollte man generell nichts mit 230v basteln, es sei denn man weiß was man tut. BZW man hat zumindest eine Ausbildung zur Elektrofachkraft, in welcher Form auch immer. Eine elektrisch unterwiesene Person ist keine Elektrofachkraft und sollte somit hier nicht mit 230v Systemen rumbasteln, wer einmal stirbt bleibt länger tot.
Ganz zu Schweigen von den Schadensersatzforderungen.


Allen Anderen sei die Handhabung und Sicherstellung von Sicherheitsanforderungen aber eigenverantwortlich zuzutrauen.

lg
Stefan
ODROID U3 1GB Ubuntu immer aktuell
FHEM immer das aktuellste Development
Defined modules:

COC; CULv3; HMLAN :HM-CC-SCD,HM-CC-TC,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-SCI-3-FM,HM-SEC-SC,HM-SEC-WIN,HM-WDS10-TH-O; ESA2000; FS20; HUEBridge; Huedevices; IT; JeeLink :PCA301 :panstamp:

drdownload

Unter 230v hätte ich gedacht ein Schaltnetzteil zu verwenden und nicht selber an der Primärseite rumzubasteln.
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

hexenmeister

Schon recht, aber auch bei einer Elektrofachkraft würde ich vom Einsatz von Gerätschaften (für > 50 VAC/75VDC) ohne CE-Zeichen (und die Selbstbauteile haben i.d.R. ja keine ;) ) abraten. Brennt die Bude ab - warum auch immer - hat man (wenn man Pech hat) die Beweislast, dass es nicht daran lag.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

hexenmeister

#23
Zitat von: drdownload am 13 Januar 2015, 11:26:40
Unter 230v hätte ich gedacht ein Schaltnetzteil zu verwenden und nicht selber an der Primärseite rumzubasteln.
Wenn das Teil ein CE-Zeichen hat ;)
Genau das mache ich ja - ein 60W MeanWell Netzteil in der Verteilung versorgt meine Geräte mit 5V (CubieTruck, 1wire etc.).
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

drdownload

Nachdem wir eine fertige Wohnung bekauft haben bringe ich leider keine Kabel mehr rein für 1W oder 12V :(
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

hexenmeister

Irgendwann wirst Du ja renovieren ;)
Ansonsten bleiben nur die Batterien. Ich habe auch eine Menge davon, lässt sich nicht in allen Fällen vermeiden.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Meister_Petz

Gibt es eigentlich eine Statistik wie oft es zu einem Brand wegen Elektrobasteleien gekommen ist bzw. weil ein Nicht-Elektriker eine Lampe angeschlossen hat (was man ja auch nicht mehr darf)?

drdownload

Hmm, ich überlege gerade noch die Device um einen Infrarot Sender (zum Steuern von "Legacy"-Device zu erweitern. Nachdem der Aktor natürlich auf Befehle lauschen sollte wird es mit sleep und damit Batteriebetrieb sowieso Essig sein oder? (ich habe jetzt zu dem Thema auch nicht wirklich etwas gefunden)
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

hexenmeister

Jein. Es gibt durchaus Techniken für solche Fälle. HomeMatic kennt z.B. sog. Burst-Modus. Weckt aber alle Burst fähige Geräte. Und ob das mit MySensors möglich ist, weiß ich allerdings nicht.
Ideal für den Batterie betrieb ist die Kombination in jedem Fall nicht.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

drdownload

Wobei es bei den derzeiten Kosten eines Arduino+Funk Modul wahrscheinlich leichter ist solche sachen zu trennen als auf Teufel komm raus zusammenzufassen.
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

hexenmeister

#30
Kommt ein wenig darauf an. Solange noch freie Pins gibt - warum nicht?
Aber die Preise sind in der Tat gut: <2 Euro für Pro Mini und <0,7 Euro für den Funkmodul ;)

P.S. habe gerade einen Kombisensor zum Einbau in UP Dose gebaut ;)
(http://forum.fhem.de/index.php?action=dlattach;topic=31663.0;attach=25068;image)
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

drdownload

CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

hexenmeister

Der ATmega48 ist etwas klein. Ich bin mir nicht sicher, ob man damit MySensor-Lib verwenden kann. Und ein NRF24L01 ist nicht ganz dasselbe wie NRF24L01+
Schade, sonst wäre das wirklich eine platzsparende Option ;)
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

drdownload

bis es die kombi mit  NRF24L01+ geben wird ist wohl nur eine zeitfrage denke ich, vielleicht erbarmt sich ja jemand und spendiert zumindest einen 88 oder 168
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

hexenmeister

Meine Sketches verwenden 60-70% vom Flash. Ich fürchte, ich brauche mindestens ATmega328.
644er wäre cool...
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

drdownload

Wahrscheinlich sollten wir uns einfach bei einem von Aliexpresshändlern mit den Wünschen melden ;)
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

hexenmeister

Oh... das ist nur eine Frage des Preises und der Menge. Kann mir gut vorstellen, wenn wir 10000 Stück bestellen, bauen sie uns das ;)
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

thunder1902

Zitat von: hexenmeister am 12 Januar 2015, 14:57:50
Du kannst eine ReadingsGroup dafür erstellen. Damit kannst Du je schönere Bedienoberflächen bauen.

Hallo!

Könnte mir jemand bitte helfen? Ich habe einen MySensor-Aktor mit 3 Schaltern. (Switch1,switch2,switch3).
Also ein Device mit 3 Schaltern.

In Fhem ist das ja so, dass man nur einen Schalter pro Gerät optisch abbilden kann. (Glühlampen-Symbol)

Wie mach' ich das jetzt, dass ich alle 3 Schalter in einem Gerät abbilden kann?
Hexenmeister meinte, dass es mit readingGroups gehen würde. Ich habe jetzt mal recherchiert - aber ich bin überfordert. Weiß jemand wie ich das anstellen kann?


Meister_Petz

Also:

schau dir mal diesen Beitrag von mir an und bastel damit:
forum.mysensors.org/topic/938/multisensor-multiactuator-sketch-testboard-tested-with-fhem-controller/

was meinst Du mit 3 Schaltern? Nur damit wir vom gleichen ausgehen.

Am MySensorDevice sind:
- drei Schalter (Drucktaster - Sensor! - nicht Aktor)
   das sind diese Einträge: mapReading_tripped1
- drei Aktoren (Relais, LED,...)
   das sind diese Einträge: mapReading_switch1

Gruß

Petz

thunder1902

Zitat von: Meister_Petz am 18 Februar 2015, 16:06:16
Also:

schau dir mal diesen Beitrag von mir an und bastel damit:
forum.mysensors.org/topic/938/multisensor-multiactuator-sketch-testboard-tested-with-fhem-controller/

was meinst Du mit 3 Schaltern? Nur damit wir vom gleichen ausgehen.

Am MySensorDevice sind:
- drei Schalter (Drucktaster - Sensor! - nicht Aktor)
   das sind diese Einträge: mapReading_tripped1
- drei Aktoren (Relais, LED,...)
   das sind diese Einträge: mapReading_switch1

Gruß

Petz

Das ist nicht das was ich meine.. Trotzdem danke dafür :-)

Ich hab jetzt selber nochmal geschaut... komme aber nicht weiter. Es werden zwar die 3 Schalter angezeigt, aber ich kann nichts anklicken zum ein/ausschalten....

define MYSENSOR_100 MYSENSORS_DEVICE 100
attr MYSENSOR_100 IODev gateway
attr MYSENSOR_100 mapReading_switch1 1 switch
attr MYSENSOR_100 mapReading_switch2 2 switch
attr MYSENSOR_100 mapReading_switch3 3 switch
attr MYSENSOR_100 mode repeater
attr MYSENSOR_100 setReading_switch1 on,off
attr MYSENSOR_100 setReading_switch2 on,off
attr MYSENSOR_100 setReading_switch3 on,off
attr MYSENSOR_100 stateFormat switch2
attr MYSENSOR_100 version 1.4.1


define MySensorTest readingsGroup MYSENSOR_100:switch1 MYSENSOR_100:switch2 MYSENSOR_100:switch3
attr MySensorTest commands { "aus" => "set %DEVICE off" , "an" => "set %DEVICE on"}
attr MySensorTest mapping {'switch1' => 'Schalter 1', 'switch2' => 'Schalter 2', 'switch3' => 'Schalter 3'}
attr MySensorTest nolinks 1
attr MySensorTest notime 1
attr MySensorTest valueIcon {'on' => 'FS20.on', 'off' => 'FS20.off'}


Meister_Petz

#40
naja, mein FHEM code hätte schon geholfen  ;)

das fehlt dir:
attr MYSENSOR_100 setCommands on1:switch1:on off1:switch1:off on2:switch2:on off2:switch2:off on3:switch3:on off3:switch3:off

und 2 dummies dazu:
define Schalter1 dummy
attr Schalter1 setList on off
attr Schalter1 webCmd on:off
define Schalter1Notify1 notify Schalter1:on set MYSENSOR_100 on1
define Schalter1Notify2 notify Schalter1:off set MYSENSOR_100 off1

define Schalter2 dummy
attr Schalter2 setList on off
attr Schalter2 webCmd on:off
define Schalter2Notify1 notify Schalter2:on set MYSENSOR_100 on2
define Schalter2Notify2 notify Schalter2:off set MYSENSOR_100 off2


Allerdings ist dein Ansatz schicker. Da muss ich aber passen - das habe ich so noch nicht gebaut.

hexenmeister

#41
ReadingsGroup hat ein Attribut namens 'commands' Damit kannst DU definieren, was beim Klick auf Icons etc. passieren soll.

EDIT: Sehe gerade, Du hast den Attribut schon gefunden. Schau DIr z.B. Beispiele aus WIKI an:
http://www.fhemwiki.de/wiki/ReadingsGroup#Heizungsteuerung_f.C3.BCr_HM_Wand-_und_Heizk.C3.B6rperthermostate
Da sind die 'Lock' und 'Modus' Icons klickbar.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Franz Tenbrock

Hallo, würde gerne auch .. bin aber noch nicht so fit dass ich das ohne Hilfe hinbekäme. Lese schon seit 3 Wochen immer wieder zu mysensors..
Brauche einen neuen Ultraschallsensor für meine Zisterne.
Bisher das hier:
http://www.fhemwiki.de/wiki/Zisterne:_Füllstandsberechnung_mittels_Ultraschallsensor
Würde nun gerne diesen Sensor nehmen
http://www.ebay.com/itm/130705092780?rmvSB=true

Wo ist der genau Unterschied ardunio nano und pro mini ? nur der fehlende usb Anschluß Wie flasht man den dann??
3,3 oder 5 Volt

Oben ist ja ein Versuchsaufbau mit einem US Sensor ..
Im schacht müsste ich das Ganze dann sinnvollerweise mit einem Akku versehen, ginge da ein alter Handy Akku ZB davon hab ich noch eine Reihe die gut gehen
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Meister_Petz

@Franz Tenbrock

wenn du noch nicht so fit bist, dann würde ich so anfangen:

2x Arduino Nano z.B. http://www.ebay.de/itm/221606981761
   1x für das Gateway
   1x für den Sensor

2x Funkmodul NRF24L01+ (das + ist wichtig) z.B. http://www.ebay.de/itm/301533762481
   1x für das Gateway
   1x für den Sensor   

2x 47 μF Kondensator (für die Funkmodule)
1x Funkmodul NRF24L01+ mit externer Antenne z.B. http://www.ebay.de/itm/171686672287
   weil man merkt, dass die Reichweite durch Wände nicht gut genug für die kleinen Funkmodule sind
1x Spannungswandler 5V -> 3,3 Volt (weil das große Funkmodul mehr Saft braucht als ein Digitaler PIN hergibt) z.B. http://www.conrad.de/ce/de/product/147028/
2x LED
2x Drucktaster
1x Irgendein Sensor (evtl. gleich den Abstandssensor - kostet ja nix)
ein paar Widerstände um die 400Ω für die LEDs

Und dann erstmal schaun, dass alles miteinander spricht. Die Reichweite kein Problem darstellt, man das ganze mit FHEM steuern kann. Und dann würde ich mir Gedanken über den Batteriebetrieb machen. Dafür ist dann wohl ein pro Mini eine gute Idee, aber bevor ich mir Gedanken über Interupts und Sleep und was auch immer machen, hätte ich dann schon mal eine Basis mit der man testen kann.

Hoffe das hilft.

Gruß Petz

Franz Tenbrock

Thanks
das ist mal eine detailierte Antwort die weiter hilft..
Dann werde ich morgen mal bestellen.

und in 4 Wochen wenn die Sachen da sind hab ich auch etwas mehr Zeit..

sind einfach elend viele Viren unterwegs....
wobei die nicht schlecht fürs Geschäft sind :-)
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Meister_Petz

Ach und sowas natürlich:
http://www.ebay.de/itm/271719287460

Franz Tenbrock

wo ist eigentlich der Unterschied zwischen den ch340 Ardunios und den mit FTDI Chip ?
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Meister_Petz

keine Ahnung. Ich hab die ch340 zum laufen bekommen... deswegen halte ich mich an die ;-)

schka17

Die CH340 haben z.B. keine Seriennummer (wie beim CUL), daher kann man nicht sicherstellen dass diese beim booten immer den selben USB port zugeordnet werden, ist aber nur dann ein Kriterium wenn man mehrere davon betreiben will. (Sehr vereinfacht bzw. das für mich relevante Kriterium). Dafür sind sie billiger.

Gruß
Karl


Sent from my iPad using Tapatalk
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

Franz Tenbrock

so alles bestellt,
nun muss man wohl warten
warten warten
:-(

habe aber die ftdi chips genommen .. wurden in anderen Threads wegen der Seriennummer bevorzugt...
bald gibts wohl keine mehr
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

hexenmeister

Ich verstehe noch, dass man Arduino Nano für den Gateway nimmt. Aber warum für die Sensoren?
Man benötigt die Schnittstelle einmalig zum Flashen und dann frisst sie nur noch unnötig Strom...
Pro Minis sind dagegen kleineer, billiger und sparsamer.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Franz Tenbrock

Der Sensor Ultraschall braucht Betriebsspannung: 3V-5.5V
der
Wirelessmodul mit NRF24L01+ Chip braucht Vcc 1,9 -3,6V

also besser dann so was hier ?!

http://www.ebay.de/itm/PRO-MINI-ATMEL-ATMEGA328-Arduino-kompatibles-AVR-Board-f-Breadboard-5V-3-3V-/301531688366?pt=LH_DefaultDomain_77&hash=item4634b06dae

mit 3,3 V ?!
oder besser die Variante mit 5 V 16MHZ und dann mit Spannungswandler 5V -> 3,3 Volt
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Spezialtrick

FHEM - Debmatic - Zigbee2MQTT - Homekit

hexenmeister

#53
Für MySensors kann man ruhig 3,3V Arduinos nehmen. Man kann gemeinsame Spannungsquelle benutzen und etwas sparsamer sind sie auch.
Übrigens, die 5V Arduinos laufen auch mit 3,3V, auch wenn außerhalb der Spezifikation (meine zumindestens liefen problemlos). Geht auch andersrum. Man merkt nur an den LEDs, sie leichten eben etwas zu dunkel bzw. zu hell.

CP2102 USB-Serial-Konverter (unter Programmer wird meist ein ISP-Programmer verstanden) sind ok. Ich benutze gerne die Version mit Metallgehäuse. Solche wie die hier: http://www.ebay.de/itm/141263477303
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Franz Tenbrock

Sorry für die dumme Frage
was ist das denn wieder ???
ist das ein ardunio pro mini mit usb Anschluß oder ein Teil mit dem ich den pro mini programmiere ?

Sorry
schmeiß mich hier raus wenn die Frage zu dumm ist

aber fertig kaufen kann ja jeder
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Hauswart

Zum programmieren des Pro Mini.
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

Franz Tenbrock

na da bin ich ja beruhigt das ich nicht ganz daneben lag, trotz der späten Stunde
dann kann ich ja nun beruhigt ins Bett gehen und morgen noch was bestellen
Thanks und n8
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

thunder1902

Ich wollte nochmal was ergänzen zum Thema: Mehrere Schalter eines MySensors-Devices darstellen.

Meine Lösung:

define MYSENSOR_100 MYSENSORS_DEVICE 100
attr MYSENSOR_100 IODev gateway
attr MYSENSOR_100 mapReading_switch1 1 switch
attr MYSENSOR_100 mapReading_switch2 2 switch
attr MYSENSOR_100 mapReading_switch3 3 switch
attr MYSENSOR_100 mode repeater
attr MYSENSOR_100 setReading_switch1 on,off
attr MYSENSOR_100 setReading_switch2 on,off
attr MYSENSOR_100 setReading_switch3 on,off
attr MYSENSOR_100 stateFormat switch2
attr MYSENSOR_100 version 1.4.1


define MySensorTest readingsGroup MYSENSOR_100:switch1 MYSENSOR_100:switch2 MYSENSOR_100:switch3
attr MySensorTest commands { "switch1.off" => "set %DEVICE switch1 on" , "switch1.on" => "set %DEVICE switch1 off", "switch2.off" => "set %DEVICE switch2 on" , "switch2.on" => "set %DEVICE switch2 off", "switch3.off" => "set %DEVICE switch3 on" , "switch3.on" => "set %DEVICE switch3 off"}
attr MySensorTest mapping {'switch1' => 'Schalter 1', 'switch2' => 'Schalter 2', 'switch3' => 'Schalter 3'}
attr MySensorTest nolinks 1
attr MySensorTest notime 1
attr MySensorTest valueIcon {'switch1.on' => 'FS20.on', 'switch1.off' => 'FS20.off', 'switch2.on' => 'FS20.on', 'switch2.off' => 'FS20.off','switch3.on' => 'FS20.on', 'switch3.off' => 'FS20.off'}

Franz Tenbrock

#58
Hallo
hab deinen Code und einige Hinweise aus dem Forum benutzt und es auch hinbekommen..
Hab das mal in einem Doku zusammengefügt. ( 3 Dokus sind nun fertig, Gateway, Distanz 3erSwitch)
Für so Dummys wie mich die einfach mehr Hinweise brauchen ...aber wird ja

Würde mir gerne am Eingang unter dem Tablet oder in den Rahme den das Teil noch bekommen soll ein paar sofort erreichbare Schalter einbauen, die dann direkt an FHEM Commandos absetzt. zb Gartenbeleuchtung an oder aus...
ev bekomme ich es ja auch noch hin das dann der Zustand mittels LEDs angezeigt wird...

Als nächstes versuche ich mich mal an den Code für das 8fach Relais von Porky, der sieht ja sehr elegant aus ... ( siehe am Anfang des Threads )

Hat auch problemlos geklappt, deutlich einfacher !!

Da ich 3 scheinbar gefakte FTDI Arduinos hatte musste ich da den Treiber ersetzen
Hier eine gute Anleitung dafür
https://www.youtube.com/watch?v=SPdSKT6KdF8

cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Franz Tenbrock

#59
so nun hab ich auch eine Schritt für Schritt Anleitung mit vielen Snaps für ein
3 fach Array Relais also den Sketch von Porky666 (weiter oben) und die Einbindung mit Icons von Thunder1902 (ebenso weiter oben) fertig. Für Profis sicher unnötig, aber für den einen oder anderen MySensors Anfänger ev. hilfreich.

Der Code von Porky ist wesentlich kürzer und daher deutlich übersichtlicher udn für ein 4er 5er Relais super schnell geändert    8)

Das einzige was nun noch fehlt ist die Verknüpfung mit einer FS20 Lampe z.B. Sicher mal wieder kinderleicht, aber dafür muss ich dann wohl doch noch mal was lesen....    >:(

das muss wohl über ein Notify definiert werden..
aber ich bekomme es nicht hin.
Es wird ja ein toggle gesendet, also eine Zustandsänderung.
Im Einsteiger PDF dazu folgendes
"verwenden Sie die Variable $EVENT:
define Schalter1Notify notify Schalter1 set wz_Media $EVENT
define Schalter1Notify notify Schalter1 set wz_Media % (alte Schreibweise)
Dabei hat $EVENT genau den Wert, der vom abgefragten Sensor (also Schalter1) gesendet wurde.
Sendet also Schalter1 den Wert on, so wird der Befehl set wz_Media on ausgeführt. Sendet der
Schalter1 den Befehl off, so wird set wz_Media off ausgeführt. Analog funktioniert das für jeden
Befehl des Sensors, also auch toggle, dimup, dimdown etc."

Nach Studium des Einsteiger PDF / FHRM Wiki
habe ich ein Notify über
"Regexp wizard - FHEMWEB-unterstützte Anlage eines notify
Die Erstellung eines notify und insbesondere die korrekte Angabe des Suchmusters (Regex) führt gerade bei Einsteigern immer wieder zu Schwierigkeiten. Zur Fehlerminimierung empfiehlt es sich einmal die Konfiguration nicht direkt zu bearbeiten, sondern die "Befehl-Eingabezeile" und die "Objektdetails" zur Bearbeitung zu nutzen. Zudem enthält Fhem einen Regexp wizard mit dem Regex anhand der in Fhem vorhandenen Devices und deren Events aus einer Auswahlbox selektiert werden können. Voraussetzungen sind:"

Hier der code bisher, am Ende das notify, trotz alledem wird die Esszimmer_LED nicht geschaltet...


Regexp wizard - FHEMWEB-unterstützte Anlage eines notify
Die Erstellung eines notify und insbesondere die korrekte Angabe des Suchmusters (Regex) führt gerade bei Einsteigern immer wieder zu Schwierigkeiten. Zur Fehlerminimierung empfiehlt es sich einmal die Konfiguration nicht direkt zu bearbeiten, sondern die "Befehl-Eingabezeile" und die "Objektdetails" zur Bearbeitung zu nutzen. Zudem enthält Fhem einen Regexp wizard mit dem Regex anhand der in Fhem vorhandenen Devices und deren Events aus einer Auswahlbox selektiert werden können. Voraussetzungen sind:

####################################################################################################
####              Mysensors Gateway                                           ######################
####################################################################################################


define gateway MYSENSORS /dev/ttyUSB0@115200
attr gateway autocreate 1
attr gateway room mysensors
attr gateway stateFormat connection


####################################################################################################
####              Mysensors 3 Button Relais                                          ###############
####################################################################################################


define MYSENSOR_100 MYSENSORS_DEVICE 100
attr MYSENSOR_100 IODev gateway
attr MYSENSOR_100 mapReading_switch1 1 switch
attr MYSENSOR_100 mapReading_switch2 2 switch
attr MYSENSOR_100 mapReading_switch3 3 switch
attr MYSENSOR_100 mode repeater
attr MYSENSOR_100 room mysensors
attr MYSENSOR_100 setReading_switch1 on,off
attr MYSENSOR_100 setReading_switch2 on,off
attr MYSENSOR_100 setReading_switch3 on,off
attr MYSENSOR_100 stateFormat switch1
attr MYSENSOR_100 version 1.4.1

define MySensorSwitch readingsGroup MYSENSOR_100:switch1 MYSENSOR_100:switch2 MYSENSOR_100:switch3
attr MySensorSwitch commands { "switch1.off" => "set %DEVICE switch1 on" , "switch1.on" => "set %DEVICE switch1 off", "switch2.off" => "set %DEVICE switch2 on" , "switch2.on" => "set %DEVICE switch2 off", "switch3.off" => "set %DEVICE switch3 on" , "switch3.on" => "set %DEVICE switch3 off"}
attr MySensorSwitch mapping {'switch1' => 'Button 1', 'switch2' => 'Button 2', 'switch3' => 'Button 3'}
attr MySensorSwitch nolinks 1
attr MySensorSwitch notime 1
attr MySensorSwitch room mysensors
attr MySensorSwitch valueIcon {'switch1.on' => 'FS20.on', 'switch1.off' => 'FS20.off', 'switch2.on' => 'FS20.on', 'switch2.off' => 'FS20.off','switch3.on' => 'FS20.on', 'switch3.off' => 'FS20.off'}

define Schalter1Notify notify MYSENSOR_100:switch1:.*|button1:.* set EsszimmerLED $EVENT
attr Schalter1Notify room mysensors
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

drdownload

Hat sich schon mal jemand an einer RGB Strip Steuerung über mySensors versucht?
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

gloob

#61
Hätte ich auch Interesse dran. Vor allem mit den WS2812B Leds.

Hier habe ich immer schonmal etwas für die Programmierung des Arduinos gefunden:

https://codebender.cc/sketch:97484?noCookies=true
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

Niko1987

Hallo Zusammen,

ich habe mit einem RelayButton node folgendes Problem (Version 1.5.3).

Nach einem start des Nodes bekomme ich Status1 reading on oder off.... nach kurzer Zeit bzw. nach ein paar Schaltvorgängen per Button bekomme ich anstatt 0/1 on/off nur noch verwirrende Zahlenfolgen.

Kennt das Problem jemand? Habe das Problem bei verschiedenen Notes und habe auch schon Verschiedene MYSENSOR Versionen (1.4-1.5) getestet. Immer das selbe Problem.

Danke & Gruß
Flo

porkman

Zitat von: Niko1987 am 06 Februar 2016, 14:04:22
Hallo Zusammen,

ich habe mit einem RelayButton node folgendes Problem (Version 1.5.3).

Nach einem start des Nodes bekomme ich Status1 reading on oder off.... nach kurzer Zeit bzw. nach ein paar Schaltvorgängen per Button bekomme ich anstatt 0/1 on/off nur noch verwirrende Zahlenfolgen.

Kennt das Problem jemand? Habe das Problem bei verschiedenen Notes und habe auch schon Verschiedene MYSENSOR Versionen (1.4-1.5) getestet. Immer das selbe Problem.

Danke & Gruß
Flo

Hallo Flo,

ich hatte das gleiche Problem, mit der 2.0.0-beta von https://github.com/mysensors/Arduino. Ich hab zwar nur grad eben mal nen kurzen Test machen können, aber es sieht so aus das der RelaywithButtonActuator Sketch offenbar wieder wie erwartet funktioniert.

Regards
Hartmut

Mois_Alexander

Hi Leute,

ich wärm das Thema nochmal auf, weil ich einige Verständnisprobleme hab.

Ich hab den Sketch von thunder1902 (1. Seite des Threads) genommen und auf jeweils 2 Schalter und 2 Relais angepasst. Die Pins hab ich auch verändert.

// Example sketch f�r a "light switch" where you can control light or something
// else from both vera and a local physical button (connected between digital
// pin 3 and GND).
// This node also works as a repeader for other nodes

#include <MySensor.h>
#include <SPI.h>
#include <Bounce2.h>

#define RELAY_PIN1  7  // Arduino Digital I/O pin number for relay
#define RELAY_PIN2  8  // Arduino Digital I/O pin number for relay
//#define RELAY_PIN3  9  // Arduino Digital I/O pin number for relay
#define BUTTON_PIN1  3  // Arduino Digital I/O pin number for button
#define BUTTON_PIN2  4  // Arduino Digital I/O pin number for button
//#define BUTTON_PIN3  5  // Arduino Digital I/O pin number for button

#define CHILD_ID 1   // Id of the sensor child
#define RELAY_ON 0
#define RELAY_OFF 1

Bounce debouncer1 = Bounce();
Bounce debouncer2 = Bounce();
//Bounce debouncer3 = Bounce();
int oldValue1=0;
int oldValue2=0;
//int oldValue3=0;
bool state1;
bool state2;
//bool state3;
MySensor gw;
MyMessage msg1(1,V_LIGHT);
MyMessage msg2(2,V_LIGHT);
//MyMessage msg3(3,V_LIGHT);

void setup()
{
  gw.begin(incomingMessage, AUTO, true);

  // Send the sketch version information to the gateway and Controller
  gw.sendSketchInfo("Relay & Button", "1.0");

// Setup the button
  pinMode(BUTTON_PIN1,INPUT);
  pinMode(BUTTON_PIN2,INPUT);
  //pinMode(BUTTON_PIN3,INPUT);
  // Activate internal pull-up
  digitalWrite(BUTTON_PIN1,HIGH);
  digitalWrite(BUTTON_PIN2,HIGH);
  //digitalWrite(BUTTON_PIN3,HIGH);   

  // After setting up the button, setup debouncer
  debouncer1.attach(BUTTON_PIN1);
  debouncer2.attach(BUTTON_PIN2);
  //debouncer3.attach(BUTTON_PIN3);
  debouncer1.interval(5);
  debouncer2.interval(5);
  //debouncer3.interval(5);

  // Register all sensors to gw (they will be created as child devices)
  gw.present(1, S_LIGHT);
  gw.present(2, S_LIGHT);
  //gw.present(3, S_LIGHT);

  // Make sure relays are off when starting up
  digitalWrite(RELAY_PIN1, RELAY_OFF);
  digitalWrite(RELAY_PIN2, RELAY_OFF);
  //digitalWrite(RELAY_PIN3, RELAY_OFF);
  // Then set relay pins in output mode
  pinMode(RELAY_PIN1, OUTPUT);   
  pinMode(RELAY_PIN2, OUTPUT);   
  //pinMode(RELAY_PIN3, OUTPUT);     
     
  // Set relay to last known state (using eeprom storage)
  state1 = gw.loadState(1);
  digitalWrite(RELAY_PIN1, state1?RELAY_ON:RELAY_OFF);
  state2 = gw.loadState(2);
  digitalWrite(RELAY_PIN2, state2?RELAY_ON:RELAY_OFF);
  //state3 = gw.loadState(3);
  //digitalWrite(RELAY_PIN3, state3?RELAY_ON:RELAY_OFF);
}


/*
*  Example on how to asynchronously check for new messages from gw
*/
void loop()
{
  gw.process();
  debouncer1.update();
  debouncer2.update();
  //debouncer3.update();
  // Get the update value
  int value1 = debouncer1.read();
  if (value1 != oldValue1 && value1==0) {
      gw.send(msg1.set(state1?false:true), true); // Send new state and request ack back
  }
  oldValue1 = value1;

  // Get the update value
  int value2 = debouncer2.read();
  if (value2 != oldValue2 && value2==0) {
      gw.send(msg2.set(state2?false:true), true); // Send new state and request ack back
  }
  oldValue2 = value2;

  // Get the update value
  //int value3 = debouncer3.read();
  //if (value3 != oldValue3 && value3==0) {
         
  //    gw.send(msg3.set(state3?false:true), true); // Send new state and request ack back
  //}
  //oldValue3 = value3;

}

void incomingMessage(const MyMessage &message) {
  // We only expect one type of message from controller. But we better check anyway.
  if (message.isAck()) {
     Serial.println("This is an ack from gateway");
  }

  if (message.type == V_LIGHT) {
     // Change relay state
     if(message.sensor==1){
  digitalWrite(RELAY_PIN1, message.getBool()?RELAY_ON:RELAY_OFF);
         state1=message.getBool();
  }
  if(message.sensor==2){
  digitalWrite(RELAY_PIN2, message.getBool()?RELAY_ON:RELAY_OFF);
        state2=message.getBool();
  }
  //if(message.sensor==3){
  //digitalWrite(RELAY_PIN3, message.getBool()?RELAY_ON:RELAY_OFF);
  //        state3=message.getBool();

  //}
     
  // Store state in eeprom
      gw.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());
   }
}


Dank autocreate wird das Modul auch sofort angelegt, allerdings nicht so wie es hier beschrieben wird. Bei mir sieht das so aus:

define MYSENSOR_16 MYSENSORS_DEVICE 16
attr MYSENSOR_16 IODev EthernetMySensors
attr MYSENSOR_16 mapReading_power1 1 power
attr MYSENSOR_16 mapReading_power2 2 power
attr MYSENSOR_16 mapReading_status1 1 status
attr MYSENSOR_16 mapReading_status2 2 status
attr MYSENSOR_16 mode repeater
attr MYSENSOR_16 setReading_power1 1
attr MYSENSOR_16 setReading_power2 1
attr MYSENSOR_16 setReading_status1 on,off
attr MYSENSOR_16 setReading_status2 on,off
attr MYSENSOR_16 version 1.5.1


Nun muss ich ehrlich sagen dass ich das nicht ganz verstehe. Wo kommen denn bei euch die Werte Switch1, Switch2 ... her und wieso hab ich Power1/2 und Status1/2 . Im Sketch wird doch nur Relay und Button definiert. Ich steh da echt auf dem Schlauch.

Kann mir da vielleicht das ein oder andere erklären?

Danke
Alex

ansi7k3

Es wurde einiges geändert.. :/

Hier z.B. hat jemand auch das Problem mit "switch"  http://forum.mysensors.org/topic/2095/solved-switch-and-dimmer-gone-after-update/2


Jarnsen

Hallo,

Ich kann momentan nur deas Relais uber den Button schalten. Per FHEM gehtes nicht. wie bekommen wir das wieder hin??

Jarnsen
1 x RPi2,
1 x nanoCUL433, 1 x nanoCUL868, 1 x SIGNALduino433
Sonos/SonosSpeak, Homebridge, 2 x Enigma2, 10 x Nobily Rollläden, 3 x Intertechno Steckdosen
Pushover, Abfallerinnerung, MySensors, 7 x Max!

Niko1987

Hallo,

welche Version hast du? Bei mir funktioniert alles super. Habe circa 15 Mysensor Relais im Einsatz.
define KinoLicht MYSENSORS_DEVICE 110
attr KinoLicht IODev gateway
attr KinoLicht devStateIcon .*off:light_light@red .*on:light_light_dim_100@green
attr KinoLicht fhem_widget_command {"allowed_values":["off","on"],"filter":"public"}
attr KinoLicht fp_EG 128,673,0,LichtKuecheEG,
attr KinoLicht group Alles
attr KinoLicht icon light_wire_system_1
attr KinoLicht mapReading_power1 1 power
attr KinoLicht mapReading_status1 1 status
attr KinoLicht mode node
attr KinoLicht requestAck 1
attr KinoLicht room Kino
attr KinoLicht setCommands on:status1:on off:status1:off
attr KinoLicht setReading_power1 1
attr KinoLicht setReading_status1 off,on
attr KinoLicht stateFormat status1
attr KinoLicht version 1.4.2


Vermutlich fehlt dir das attr. setCommands on:status1:on off:status1:off um das Relais per "on/off" zu schalten?

Gruß

Flo

LastActionHero

Servus!

Ich habe mittlerweile auch mysensors bei mir in FHEM eingebunden, ein Temp/Hum Sensor funktioniert bereits einwandfrei, aber mit dem Relay habe ich probleme.
Alles ordnungsgemäß angeschlossen, wird auch im autocreate in fhem angelegt, aber die Schaltvorgänge gehen nicht... mysensors 1.5.4

define MYSENSOR_0 MYSENSORS_DEVICE 0
attr MYSENSOR_0 IODev MySensorGateway
attr MYSENSOR_0 mapReading_power1 1 power
attr MYSENSOR_0 mapReading_status1 1 status
attr MYSENSOR_0 mode repeater
attr MYSENSOR_0 setReading_power1 1
attr MYSENSOR_0 setReading_status1 on,off
attr MYSENSOR_0 version 1.5.4
attr MYSENSOR_0 room Mysensor
attr MYSENSOR_0 setCommands on:status1:off off:status1:on
attr MYSENSOR_0 setReading_status1 on,off
attr MY_SENSO_0 stateFormat switch


egal wie oft ich auf den button on / off drücke, am relay tut sich nix! jemand ne idee?

Niko1987

hallo,

sollte es nicht so sein:

attr MYSENSOR_0 setCommands on:status1:on off:status1:off


und ein

attr MYSENSOR_0 requestAck 1

ich hab ca 30 Relais im Einsatz, ohne Probleme.

Allerdings hat mein Gateway Version 2.0

Gruß

Niko

LastActionHero

mmh, ja hast recht. hat aber leider nix gebracht, bei mir wäre dann on/off vertauscht gewesen sozusagen, aber das relay schaltet überhaupt nicht, auch nicht wenn ichs manuell über set befehl mache :(

wenn ich den arduino resette hört man aber ein eindeutiges klicken im relay wenn die status LED umspringt, sowohl in on als auch in off richtung.

Niko1987

Guten Morgen,

welchen NRF nutzt du? ohne oder mit PA?
Vielleicht hat er einfach Probleme die Daten zu empfangen.
Aktualisiert FHEM die Readings für das Relais wenn du den relais node neu startest?

Gruß
Flo

LastActionHero

eins ohne PA, ich hab vorhin mal nen Dallas Temp sensor dran gepackt, die hardware funktioniert.

Readings werden in FHEM garkeine angezeigt... merkwürdigerweise...

Niko1987

Schau dir mal den Seriellen monitor an, ob er überhaupt bis zum Gateway kommt.


LastActionHero

Jetzt funktionierts, war ein Power-Problem am NRF, der 3,3V pin gibt nicht genug saft ab, auf VIN funktionierts  :o


LastActionHero

#76
jain, ich hatte den arduino nano am USB Port am rechner um den serial monitor zu sehen, offensichtlich wirft der zu wenig spannung für das NRF und das Relay ab und am 3.3V port kamen immer solche meldungen

send: 0-0-0-0 s=255,c=0,t=18,pt=0,l=5,sg=0,st=fail:1.5.4

am normalen USB Netzteil völlig problemlos über den 3.3V steckplatz.

Ich überleg mir nur grade noch wie am am praktikabelsten und auch optisch ansprechendsten da ne Steckdose anklemmt. bzw. wie man den arduino da am besten integriert?

Niko1987

ich nehme dafür oft Aufputzdosen oder alte Gehäuse von Funksteckdosen. (Siehe Anhang)

Um den Arduino mit den 5V zu versorgen nehme ich die billigen IFöhn Ladegeräte, knack das Gehäuse, löte die Kabel entsprechend dran und pack nen Schrumpfschlauch drüber (Passt bei mir als Bündel mit Ardunio, Ladegerät und Relais auch gerade noch so in die Unterputzdosen der Lichtschalter oder Steckdosen. Wenn du allerdings unter bzw. bis 5V Spannung hast würde ich das ganze nicht über VIN machen sondern über 5V Pin direkt. Sonst hast du durch die Regler nach dem VIN keine 5V mehr anliegen und das könnte zu Problemen führen beim Schalten der Relais.

Gruß
Flo


LastActionHero


kleinerDrache

Nutze auch den Nano für meine Nodes.
Bei Power Problemen nehme ich immer nen kleinen Elko direkt am NRF (irgendwas zwischen  4.7µ - 47µF) und versorge den Nano über Vin, geht hervorragend.
Wenns mal an der Reichweite hapert wirkt ein "#define MY_RF24_PA_LEVEL RF24_PA_MAX" oft Wunder (sowohl im Gateway als auch im Node Sketch).
Ob das bei Batterie Nodes auch gut ist muss die Zeit zeigen.
Raspi 2 - Hmusb2 , 2xJeeLink , EnOcean pi: Serie14 Geräte , 6xHM-Sec-Rhs , 6xHM-CC-RT-DN, verschiedene MySensor Nodes, ein bischen MQTT

SvenJust

Zitat von: kleinerDrache am 21 Oktober 2016, 08:25:43
Wenns mal an der Reichweite hapert wirkt ein "#define MY_RF24_PA_LEVEL RF24_PA_MAX" oft Wunder

Die Einstellung ist bei MySensors 2.0 der Standard in der MyConfig.h
FTUI, Raspberry PI/SSD, CUL CC1101, HMLAN, 10x HM-LC-Bl1PBU-FM, HM-LC-Sw4-WM (KWL Pluggit P300), HM-WDS30-OT2-SM (Sonnensensor), HM-Sec-SCo, LW-12 Wifi LED, CUL Selbstbau nanoCUL 433 (IT), Arduino (S0-Stromverbrauch), OW DS2480 (OWX_ASYNC) 8x DS18B20, MQTT (Fröling P4), MYSENSORS (Roto Rollläden)

kleinerDrache

Ok
bei mir hat das aber anscheinend nicht gegriffen nutze 2.0 dev. Ohne das define bekomme ich keine verbindung zu den nodes (ca 10m durch 2 Wände alter Bau) mit dem define funkt es.
Raspi 2 - Hmusb2 , 2xJeeLink , EnOcean pi: Serie14 Geräte , 6xHM-Sec-Rhs , 6xHM-CC-RT-DN, verschiedene MySensor Nodes, ein bischen MQTT

SvenJust

Zitat von: kleinerDrache am 21 Oktober 2016, 13:09:40
Ok
bei mir hat das aber anscheinend nicht gegriffen nutze 2.0 dev.

Das hat mich jetzt interessiert und ich habe in der heute aktuellen (21.10.2016) Dev-Version von MySensors nachgesehen. In der MyConfig.h ist definiert:
/**
* @def MY_RF24_PA_LEVEL
* @brief Default RF24 PA level. Override in sketch if needed.
*/
#ifndef MY_RF24_PA_LEVEL
#define MY_RF24_PA_LEVEL RF24_PA_MAX
#endif


Leider wird aber im Sketch für das GatewaySerial das MY_RF24_PA_LEVEL überschrieben.
// Set LOW transmit power level as default, if you have an amplified NRF-module and
// power your radio separately with a good regulator you can turn up PA level.
#define MY_RF24_PA_LEVEL RF24_PA_LOW


Ich benutze das GatewayW5100 und hier wird MY_RF24_PA_LEVEL nicht gesetzt, es gilt also RF24_PA_MAX.

Im SensebenderGatewaySerial wird das define wiederum auf RF24_PA_HIGH gesetzt, an weiteren Stellen habe ich MY_RF24_PA_LEVEL in 2.0-dev NICHT gefunden.

Wenn also das define im Sketch nicht gesetzt ist, wird das define aus MyConfig.h verwendet und hier ist RF24_PA_MAX definiert. Es sollte also reichen, wenn in den Sketches alle Vorkommen von #define MY_RF24_PA_LEVEL ... entfernt werden, denn dann gilt ja die Definition in MyConfig.h.

VG Sven
FTUI, Raspberry PI/SSD, CUL CC1101, HMLAN, 10x HM-LC-Bl1PBU-FM, HM-LC-Sw4-WM (KWL Pluggit P300), HM-WDS30-OT2-SM (Sonnensensor), HM-Sec-SCo, LW-12 Wifi LED, CUL Selbstbau nanoCUL 433 (IT), Arduino (S0-Stromverbrauch), OW DS2480 (OWX_ASYNC) 8x DS18B20, MQTT (Fröling P4), MYSENSORS (Roto Rollläden)

kleinerDrache

#83
Sollte eigentlich so sein steht ja als #ifndefine in der MyConfig.h so drinn.

Nutze hier den Wlan Gateway und da geht ohne den #define anscheinend nicht habs gerade nochmal probiert und alle entfernt:

keine Verbindung also wieder rein damit und "schwups" geht es wieder. *komisch*

Arduino Version ist die aktuellste, Nodes und Gateway laufen für OTA (Also Bootloader auf dem Nano geändert und Gateway mit dem ESP OTA Sketch)

Edit: OTA ist unwichtig für den Scene Node der läuft auf nem Mega2560
Raspi 2 - Hmusb2 , 2xJeeLink , EnOcean pi: Serie14 Geräte , 6xHM-Sec-Rhs , 6xHM-CC-RT-DN, verschiedene MySensor Nodes, ein bischen MQTT

hexenmeister

Etwas OT, aber interessant...

Verstehe ich es richtig, deine Arduino-MySensors-Nodes können über den Dateway ihre Firmware updaten?
Hast Du Links für mehr Info darüber?
thx!
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

kleinerDrache

klar

GENERELLE INFOS zum OTA. Ich selber verwende MYSBootloader (braucht keine extra Hardware update Tool vorhanden)

Aktuellster Bootloader inclusive passendem Tool.

Obwohl im tröt steht noch BETA funktioniert das ziemlich gut. Wenn weitere Infos gesucht werden einfach fragen ;-)

Edit: Läuft im mom wohl nur auf nodes die den 328P verwenden
Raspi 2 - Hmusb2 , 2xJeeLink , EnOcean pi: Serie14 Geräte , 6xHM-Sec-Rhs , 6xHM-CC-RT-DN, verschiedene MySensor Nodes, ein bischen MQTT

hexenmeister

Vielen Dank! Werde mir unbedingt ansehen und ausprobieren. Muss nur noch auch Zeit dafür finden  ;D
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

kleinerDrache

kein Problem

Bin gerade mal dabei ne Anleitung in nem neuen Tröt zu schreiben ist besser als immer nen andern Tröt zu Ninjan weil jeder Fragt wies geht :-)
Raspi 2 - Hmusb2 , 2xJeeLink , EnOcean pi: Serie14 Geräte , 6xHM-Sec-Rhs , 6xHM-CC-RT-DN, verschiedene MySensor Nodes, ein bischen MQTT

dirkcx

Hallo zusammen,
auch wenn dieser Thread zeitweise vom Thema abgekommen ist und auch kaum Neues was kam, möchte ich dennoch keinen neuen Thread für meine Frage aufmachen.

Um mehrere Relais eines einzigen MYSENSOR-nodes in fhem zu schalten, sehe ich zwei Alternativen und mich würde interessieren, welche die bessere ist.
Beide funktionieren bei mir, beide auch mit Homebridge, welche effizienter oder "korrekter" ist, wissen vielleicht die Experten hier:

Annahme: node ist bereits definiert, in meinem Fall mit 4 Relais:

define MYSENSOR_2 MYSENSORS_DEVICE 2
attr MYSENSOR_2 IODev mySensorsGW
attr MYSENSOR_2 mapReading_status1 1 status
attr MYSENSOR_2 mapReading_status2 2 status
attr MYSENSOR_2 mapReading_status3 3 status
attr MYSENSOR_2 mapReading_status4 4 status
attr MYSENSOR_2 mode repeater
attr MYSENSOR_2 setCommands on1:status1:on off1:status1:off on2:status2:on off2:status2:off on3:status3:on off3:status3:off on4:status4:on off4:status4:off
attr MYSENSOR_2 setReading_power1 1
attr MYSENSOR_2 setReading_power2 1
attr MYSENSOR_2 setReading_power3 1
attr MYSENSOR_2 setReading_power4 1
attr MYSENSOR_2 setReading_status1 on,off
attr MYSENSOR_2 setReading_status2 on,off
attr MYSENSOR_2 setReading_status3 on,off
attr MYSENSOR_2 setReading_status4 on,off


Die folgenden Varianten beziehen sich nur auf das erste der 4 Relais, die anderen funktionieren analog.

1) Alternative mit dummy und notifys:
define Schalter1 dummy
attr Schalter1 setList on off
attr Schalter1 webCmd on:off
define Schalter1Notify1 notify Schalter1:on set MYSENSOR_2 on1
define Schalter1Notify2 notify Schalter1:off set MYSENSOR_2 off1


2) Alternative mit readingsproxy
define Schalter1 readingsProxy MYSENSOR_2:status1
attr Schalter1 setFn {($CMD eq "on")?"status1 on":"status1 off"}
attr Schalter1 setList on off
attr Schalter1 valueFn {$LASTCMD}
attr Schalter1 webCmd on:off


Ich freue mich auf Feedback...
Server: Gigabyte GB-BACE3160 | Ubuntu 20.04 LTS Server | aktuelles FHEM | CULUSB (busware) FS20/FHT/... | MySensors: seriell / esp8266 | ZigBee (Zigbee CC2531 / zigbee2mqtt) | homebridge / homebridge-config-ui

Beta-User

@dirkcx
Was "besser" ist, ist sicher auch eine Geschmacksfrage.
In solchen Fällen nutze ich selbst aber lieber ReadingsProxy (bzw. ggf. ReadingsGroup, wenn's mehrere Schalter sein sollen, die gleichzeitig dargestellt werden). Siehe auch hier: https://forum.fhem.de/index.php/topic,74716.msg668811.html#msg668811 bzw. den weiteren Link da.

Warum lieber: ReadingsProxy wurde für solche Aufgaben gemacht, den dummy muß man erst mit weiteren Hilfsmitteln "hinbiegen".

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files