FHEM Forum

Verschiedenes => Bastelecke => MySensors => Thema gestartet von: Meister_Petz am 06 Januar 2015, 20:23:53

Titel: MySensor Relay anbinden
Beitrag von: Meister_Petz am 06 Januar 2015, 20:23:53
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


Titel: Antw:MySensor Relay anbinden
Beitrag von: hexenmeister am 06 Januar 2015, 21:01:46
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?
Titel: Antw:MySensor Relay anbinden
Beitrag von: hexenmeister am 06 Januar 2015, 21:14:42
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) ;)

Titel: Antw:MySensor Relay anbinden
Beitrag von: Meister_Petz am 07 Januar 2015, 10:31:00
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
Titel: Antw:MySensor Relay anbinden
Beitrag von: fh168 am 07 Januar 2015, 10:49:59
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
Titel: Antw:MySensor Relay anbinden
Beitrag von: hexenmeister am 07 Januar 2015, 13:51:33
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.
Titel: Antw:MySensor Relay anbinden
Beitrag von: hexenmeister am 07 Januar 2015, 14:02:22
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?
Titel: Antw:MySensor Relay anbinden
Beitrag von: Meister_Petz am 07 Januar 2015, 14:38:56
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
Titel: Antw:MySensor Relay anbinden
Beitrag von: fh168 am 08 Januar 2015, 14:10:53
Zitat von: hexenmeister am 07 Januar 2015, 14:02:22

Wo genau liegt das Problem?

im Sketch einzubauen.
Titel: Antw:MySensor Relay anbinden
Beitrag von: hexenmeister am 08 Januar 2015, 14:52:30
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)?

Titel: Antw:MySensor Relay anbinden
Beitrag von: Meister_Petz am 08 Januar 2015, 19:09:45
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
Titel: Antw:MySensor Relay anbinden
Beitrag von: hexenmeister am 08 Januar 2015, 22:55:22
Habe mit mehreren Relays nicht ausprobiert, aber eigentlich müsste alles in einem Device zusammen liegen.
Titel: Antw:MySensor Relay anbinden
Beitrag von: thunder1902 am 12 Januar 2015, 14:53:55
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...??
Titel: Antw:MySensor Relay anbinden
Beitrag 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.
Titel: Antw:MySensor Relay anbinden
Beitrag von: Porky666 am 12 Januar 2015, 19:36:32
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
Titel: Antw:MySensor Relay anbinden
Beitrag von: Porky666 am 12 Januar 2015, 19:43:33
Hier ein paar Bilder dazu:


lg

Stefan
Titel: Antw:MySensor Relay anbinden
Beitrag von: Meister_Petz am 13 Januar 2015, 08:52:20
Super,

dann harre ich nun nur noch darauf, dass die Relais einteffen. ;-)
Titel: Antw:MySensor Relay anbinden
Beitrag von: Hauswart am 13 Januar 2015, 09:05:39
Wo bezieht ihr denn eure Relais?
Bin noch am Überlegenheit ob ich wirklich Relais aus China bestellen soll...
Titel: Antw:MySensor Relay anbinden
Beitrag 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?

Außerdem überlege ich meine UP-Schalter per Funk auszuwerten, das wäre doch einfach der Button sketch von mysensors oder?
Titel: Antw:MySensor Relay anbinden
Beitrag von: hexenmeister am 13 Januar 2015, 10:29:16
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.
Titel: Antw:MySensor Relay anbinden
Beitrag von: Porky666 am 13 Januar 2015, 10:57:26
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
Titel: Antw:MySensor Relay anbinden
Beitrag 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.
Titel: Antw:MySensor Relay anbinden
Beitrag von: hexenmeister am 13 Januar 2015, 11:31:46
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.
Titel: Antw:MySensor Relay anbinden
Beitrag von: hexenmeister am 13 Januar 2015, 11:33:50
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.).
Titel: Antw:MySensor Relay anbinden
Beitrag von: drdownload am 13 Januar 2015, 11:38:39
Nachdem wir eine fertige Wohnung bekauft haben bringe ich leider keine Kabel mehr rein für 1W oder 12V :(
Titel: Antw:MySensor Relay anbinden
Beitrag von: hexenmeister am 13 Januar 2015, 11:42:03
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.
Titel: Antw:MySensor Relay anbinden
Beitrag von: Meister_Petz am 13 Januar 2015, 12:01:26
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)?
Titel: Antw:MySensor Relay anbinden
Beitrag von: drdownload am 13 Januar 2015, 12:06:25
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)
Titel: Antw:MySensor Relay anbinden
Beitrag von: hexenmeister am 13 Januar 2015, 18:04:40
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.
Titel: Antw:MySensor Relay anbinden
Beitrag von: drdownload am 13 Januar 2015, 20:20:12
Wobei es bei den derzeiten Kosten eines Arduino+Funk Modul wahrscheinlich leichter ist solche sachen zu trennen als auf Teufel komm raus zusammenzufassen.
Titel: Antw:MySensor Relay anbinden
Beitrag von: hexenmeister am 13 Januar 2015, 20:45:29
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)
Titel: Antw:MySensor Relay anbinden
Beitrag von: drdownload am 26 Januar 2015, 21:04:59
Ich bin noch über ganz interessante Dinge gestolpert:

1) Ein http://www.aliexpress.com/item/5PCS-LOT-ATMEGA48-NRF24L01-Wireless-Module-Development-Board-For-Arduino/2019093865.html inkl. ATMEGA48 -> bei wenig Platz

2) Ein Projekt mit Audiostreaming über die NRF24L01 https://forum.sparkfun.com/viewtopic.php?f=13&t=31976 http://www.ebay.com/itm/NRF24L01-2-4G-wireless-digital-audio-transceiver-module-sound-speaker-adapter-5V-/120965740737
Titel: Antw:MySensor Relay anbinden
Beitrag von: hexenmeister am 26 Januar 2015, 21:46:53
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 ;)
Titel: Antw:MySensor Relay anbinden
Beitrag von: drdownload am 26 Januar 2015, 22:20:54
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
Titel: Antw:MySensor Relay anbinden
Beitrag von: hexenmeister am 26 Januar 2015, 22:37:56
Meine Sketches verwenden 60-70% vom Flash. Ich fürchte, ich brauche mindestens ATmega328.
644er wäre cool...
Titel: Antw:MySensor Relay anbinden
Beitrag von: drdownload am 26 Januar 2015, 22:50:33
Wahrscheinlich sollten wir uns einfach bei einem von Aliexpresshändlern mit den Wünschen melden ;)
Titel: Antw:MySensor Relay anbinden
Beitrag von: hexenmeister am 26 Januar 2015, 23:05:47
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 ;)
Titel: Antw:MySensor Relay anbinden
Beitrag von: thunder1902 am 18 Februar 2015, 15:39:56
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?

Titel: Antw:MySensor Relay anbinden
Beitrag 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/ (http://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
Titel: Antw:MySensor Relay anbinden
Beitrag von: thunder1902 am 18 Februar 2015, 16:29:17
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/ (http://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'}

Titel: Antw:MySensor Relay anbinden
Beitrag von: Meister_Petz am 18 Februar 2015, 16:41:02
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.
Titel: Antw:MySensor Relay anbinden
Beitrag von: hexenmeister am 18 Februar 2015, 17:19:10
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.
Titel: Antw:MySensor Relay anbinden
Beitrag von: Franz Tenbrock am 18 Februar 2015, 21:58:16
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
Titel: Antw:MySensor Relay anbinden
Beitrag von: Meister_Petz am 18 Februar 2015, 22:15:34
@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 (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 (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/ (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
Titel: Antw:MySensor Relay anbinden
Beitrag von: Franz Tenbrock am 18 Februar 2015, 22:30:56
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 :-)
Titel: Antw:MySensor Relay anbinden
Beitrag von: Meister_Petz am 18 Februar 2015, 23:18:05
Ach und sowas natürlich:
http://www.ebay.de/itm/271719287460
Titel: Antw:MySensor Relay anbinden
Beitrag von: Franz Tenbrock am 18 Februar 2015, 23:22:10
wo ist eigentlich der Unterschied zwischen den ch340 Ardunios und den mit FTDI Chip ?
Titel: Antw:MySensor Relay anbinden
Beitrag von: Meister_Petz am 18 Februar 2015, 23:23:17
keine Ahnung. Ich hab die ch340 zum laufen bekommen... deswegen halte ich mich an die ;-)
Titel: Antw:MySensor Relay anbinden
Beitrag von: schka17 am 19 Februar 2015, 00:05:12
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
Titel: Antw:MySensor Relay anbinden
Beitrag von: Franz Tenbrock am 19 Februar 2015, 20:35:15
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
Titel: Antw:MySensor Relay anbinden
Beitrag von: hexenmeister am 19 Februar 2015, 21:43:57
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.
Titel: Antw:MySensor Relay anbinden
Beitrag von: Franz Tenbrock am 19 Februar 2015, 22:12:07
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
Titel: Antw:MySensor Relay anbinden
Beitrag von: Spezialtrick am 19 Februar 2015, 22:16:37
Alex hatte mit in seinem Blog diesen hier vorgeschlagen:

http://www.ebay.de/itm/Enhancement-V2-Pro-Mini-8MHz-3-3V-5V-adjustable-MEGA328P-Arduino-Compatible/221668558468?_trksid=p2052191.m2338

Leider ist der Händler noch im Urlaub.


Ist der Programmer in diesem Set eigentlich korrekt?

http://www.aliexpress.com/store/product/CP2102-Module-Pro-Mini-Module-Atmega328-3-3V-8M-For-Arduino-Compatible-With-Nano-FZ0145-FZ0104/406986_1436955999.html
Titel: Antw:MySensor Relay anbinden
Beitrag von: hexenmeister am 19 Februar 2015, 22:56:29
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
Titel: Antw:MySensor Relay anbinden
Beitrag von: Franz Tenbrock am 19 Februar 2015, 23:05:49
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
Titel: Antw:MySensor Relay anbinden
Beitrag von: Hauswart am 19 Februar 2015, 23:08:34
Zum programmieren des Pro Mini.
Titel: Antw:MySensor Relay anbinden
Beitrag von: Franz Tenbrock am 19 Februar 2015, 23:17:05
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
Titel: Antw:MySensor Relay anbinden
Beitrag von: thunder1902 am 20 Februar 2015, 07:28:09
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'}
Titel: Antw:MySensor Relay anbinden
Beitrag von: Franz Tenbrock am 09 Mai 2015, 19:26:31
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
Titel: Antw:MySensor Relay anbinden
Beitrag von: Franz Tenbrock am 10 Mai 2015, 15:43:22
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
Titel: Antw:MySensor Relay anbinden
Beitrag von: drdownload am 21 Mai 2015, 16:00:15
Hat sich schon mal jemand an einer RGB Strip Steuerung über mySensors versucht?
Titel: Antw:MySensor Relay anbinden
Beitrag von: gloob am 21 Mai 2015, 18:26:37
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 (https://codebender.cc/sketch:97484?noCookies=true)
Titel: Antw:MySensor Relay anbinden
Beitrag 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
Titel: Antw:MySensor Relay anbinden
Beitrag von: porkman am 08 Februar 2016, 20:00:42
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 (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
Titel: Antw:MySensor Relay anbinden
Beitrag von: Mois_Alexander am 09 Februar 2016, 21:03:58
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
Titel: Antw:MySensor Relay anbinden
Beitrag von: ansi7k3 am 06 März 2016, 22:47:08
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 (http://forum.mysensors.org/topic/2095/solved-switch-and-dimmer-gone-after-update/2). 

Titel: Antw:MySensor Relay anbinden
Beitrag von: Jarnsen am 24 April 2016, 21:08:17
Hallo,

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

Jarnsen
Titel: Antw:MySensor Relay anbinden
Beitrag von: Niko1987 am 25 April 2016, 22:54:32
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
Titel: Antw:MySensor Relay anbinden
Beitrag von: LastActionHero am 03 September 2016, 19:44:48
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?
Titel: Antw:MySensor Relay anbinden
Beitrag von: Niko1987 am 03 September 2016, 23:11:29
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
Titel: Antw:MySensor Relay anbinden
Beitrag von: LastActionHero am 04 September 2016, 09:12:24
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.
Titel: Antw:MySensor Relay anbinden
Beitrag von: Niko1987 am 04 September 2016, 09:30:55
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
Titel: Antw:MySensor Relay anbinden
Beitrag von: LastActionHero am 04 September 2016, 09:32:24
eins ohne PA, ich hab vorhin mal nen Dallas Temp sensor dran gepackt, die hardware funktioniert.

Readings werden in FHEM garkeine angezeigt... merkwürdigerweise...
Titel: Antw:MySensor Relay anbinden
Beitrag von: Niko1987 am 04 September 2016, 09:34:00
Schau dir mal den Seriellen monitor an, ob er überhaupt bis zum Gateway kommt.

Titel: Antw:MySensor Relay anbinden
Beitrag von: LastActionHero am 04 September 2016, 09:38:10
Jetzt funktionierts, war ein Power-Problem am NRF, der 3,3V pin gibt nicht genug saft ab, auf VIN funktionierts  :o
Titel: Antw:MySensor Relay anbinden
Beitrag von: Niko1987 am 04 September 2016, 09:41:35
Super,

ich nutzte dies um Powerprobleme zu vermeiden:

https://de.aliexpress.com/item/New-Socket-Adapter-plate-Board-for-8Pin-NRF24L01-Wireless-Transceive-module-51/32652342305.html?spm=2114.010208.3.20.wZOAR4&ws_ab_test=searchweb201556_10,searchweb201602_4_10057_10065_10056_10055_10054_10069_10059_10058_10017_10070_10060_10061_10052_10062_10053_10050_10051,searchweb201603_1&btsid=61dec4f0-4b85-4f31-80c8-9ed38fb8f5b2

Kostet nicht sehr viel und Löst die meisten Probleme die mit MYSENSORS auftreten können.

Hast du auf VIN nur 3,3Volt?



Titel: Antw:MySensor Relay anbinden
Beitrag von: LastActionHero am 04 September 2016, 09:47:54
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?
Titel: Antw:MySensor Relay anbinden
Beitrag von: Niko1987 am 04 September 2016, 10:07:01
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

Titel: Antw:MySensor Relay anbinden
Beitrag von: LastActionHero am 04 September 2016, 10:08:42
Super, besten Dank!
Titel: Antw:MySensor Relay anbinden
Beitrag von: kleinerDrache am 21 Oktober 2016, 08:25:43
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.
Titel: Antw:MySensor Relay anbinden
Beitrag von: SvenJust am 21 Oktober 2016, 10:50:24
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
Titel: Antw:MySensor Relay anbinden
Beitrag von: kleinerDrache am 21 Oktober 2016, 13:09:40
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.
Titel: Antw:MySensor Relay anbinden
Beitrag von: SvenJust am 21 Oktober 2016, 13:46:49
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
Titel: Antw:MySensor Relay anbinden
Beitrag von: kleinerDrache am 21 Oktober 2016, 14:01:47
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
Titel: Antw:MySensor Relay anbinden
Beitrag von: hexenmeister am 21 Oktober 2016, 14:22:08
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!
Titel: Antw:MySensor Relay anbinden
Beitrag von: kleinerDrache am 21 Oktober 2016, 15:03:26
klar

GENERELLE INFOS (https://www.mysensors.org/about/ota) zum OTA. Ich selber verwende MYSBootloader (braucht keine extra Hardware update Tool vorhanden)

Aktuellster Bootloader  (https://forum.mysensors.org/topic/4991/mysbootloader-1-3pre2-testing) 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
Titel: Antw:MySensor Relay anbinden
Beitrag von: hexenmeister am 21 Oktober 2016, 15:11:57
Vielen Dank! Werde mir unbedingt ansehen und ausprobieren. Muss nur noch auch Zeit dafür finden  ;D
Titel: Antw:MySensor Relay anbinden
Beitrag von: kleinerDrache am 21 Oktober 2016, 15:18:56
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 :-)
Titel: Antw:MySensor Relay anbinden
Beitrag von: dirkcx am 29 April 2018, 18:53:03
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...
Titel: Antw:MySensor Relay anbinden
Beitrag von: Beta-User am 30 April 2018, 15:00:45
@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