Integration von MySensors in FHEM geplant?

Begonnen von fh555, 06 September 2014, 00:40:58

Vorheriges Thema - Nächstes Thema

kleinerDrache

Hm hatte damit auch schon mal Probleme ein ändern der Sende Channels hat
1. Die reichweite gewaltig erhöht und
2. die abbrüche waren auch passe

Standartmässig läuft MySensors auf Channel 76 also 2476 Mhz. Da kommt mann schonmal mit älteren Wlan Geräten in konflickt. Hier mal Die Tabelle für die möglichen anderen Channels.

/**
* @def MY_RF24_CHANNEL
* @brief RF channel for the sensor net, 0-125.
* Frequence: 2400 Mhz - 2525 Mhz Channels: 126
* http://www.mysensors.org/radio/nRF24L01Plus.pdf
* 0 => 2400 Mhz (RF24 channel 1)
* 1 => 2401 Mhz (RF24 channel 2)
* 76 => 2476 Mhz (RF24 channel 77)
* 83 => 2483 Mhz (RF24 channel 84)
* 124 => 2524 Mhz (RF24 channel 125)
* 125 => 2525 Mhz (RF24 channel 126)
* In some countries there might be limitations, in Germany for example only the range 2400,0 - 2483,5 Mhz is allowed
* http://www.bundesnetzagentur.de/SharedDocs/Downloads/DE/Sachgebiete/Telekommunikation/Unternehmen_Institutionen/Frequenzen/Allgemeinzuteilungen/2013_10_WLAN_2,4GHz_pdf.pdf
*/


Hab Ich aus der Config.h rauskopiert. Bei mir läuft das ganze auf Channel 0 also 2400 Mhz bisher keine schwierigkeiten.
Raspi 2 - Hmusb2 , 2xJeeLink , EnOcean pi: Serie14 Geräte , 6xHM-Sec-Rhs , 6xHM-CC-RT-DN, verschiedene MySensor Nodes, ein bischen MQTT

borzo83

Zitat von: gloob am 30 Oktober 2016, 17:08:54
Hast du einen Kondensator am NRF24L01 oder was für ein Board verwendest du?

Ja ich verwende das NRF24L01 Modul, allerdings ohne Kondensator. Wo sollte da ein Kondensator hin?

gloob

Zitat von: borzo83 am 30 Oktober 2016, 17:17:18
Ja ich verwende das NRF24L01 Modul, allerdings ohne Kondensator. Wo sollte da ein Kondensator hin?

Ich habe bei mir den Kondensator auf den Senorplatinen zwischen Versorgungsspannung und Masse, relativ nah an den Modulen drauf.
Du kannst aber auch einen Kondensator direkt auf den NRF Modulen zwischen + und - löten
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

kleinerDrache

hab ich auch aber direkt am NRF nen kleinen Elko mit 10 Microfarad zwischen GND und VCC.

Nutz Du NRF24L01 oder NRF24L01+ Module das ist ein unterschied
Raspi 2 - Hmusb2 , 2xJeeLink , EnOcean pi: Serie14 Geräte , 6xHM-Sec-Rhs , 6xHM-CC-RT-DN, verschiedene MySensor Nodes, ein bischen MQTT

borzo83

Zitat von: gloob am 30 Oktober 2016, 17:18:31
Ich habe bei mir den Kondensator auf den Senorplatinen zwischen Versorgungsspannung und Masse, relativ nah an den Modulen drauf.
Du kannst aber auch einen Kondensator direkt auf den NRF Modulen zwischen + und - löten

Danke für den Tip, ich probiere es mal mit einem Kondensator und werde berichten ob es stabiler läuft.

PeMue

Zitat von: gloob am 30 Oktober 2016, 17:12:38
Wie wird bei euch denn die Batteriespannung im Arduino Sketch übertragen und welchen Message-Typ nutzt ihr?
Ist quasi der MySensors Standard Sketch:

Ich habe die Message ID auf 3 gesetzt:
// Uncomment the line below, to transmit battery voltage as a normal sensor value
#define CHILD_ID_BATT 3


#ifdef CHILD_ID_BATT
  MyMessage msgBatt(CHILD_ID_BATT, V_VOLTAGE);
#endif


in presentation:
#ifdef CHILD_ID_BATT
  //present(CHILD_ID_BATT,S_POWER);
  present(CHILD_ID_BATT,S_MULTIMETER);
#endif


und die Sendefunktion:
/************************************************
* Sends battery information (battery percentage)
*
* Parameters
* - force : Forces transmission of a value
***********************************************/
void sendBattLevel(bool force)
{
  if (force) lastBattery = -1;
  long vcc = readVcc();
  if (vcc != lastBattery)
  {
    lastBattery = vcc;

    #ifdef CHILD_ID_BATT
      float send_voltage = float(vcc)/1000.0f;
      Serial.print("battery voltage: ");Serial.println(send_voltage);
      send(msgBatt.set(send_voltage,3));
    #endif

    // Calculate percentage
    vcc = vcc - 1900; // subtract 1.9 V from vcc, as this is the lowest voltage we will operate at

    long percent = vcc / 14.0; //(2500-1900)*100
    Serial.print("battery level: ");Serial.println(percent);
    sendBatteryLevel(percent);
    transmission_occured = true;
  }
}
/***********************************************/


Wie schon gesagt, die Attribute werden von fhem angelegt, aber die Readings kommen nicht.
Es geht weder mit S_POWER noch mit S_MULTIMETER  >:(
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

gloob

Was passiert wenn du in FHEM folgende Attribute entfernst:

attr UG_Heizung_sensor mapReading_current 3 current
attr UG_Heizung_sensor mapReading_impedance 3 impedance


und in der Presentation auf S_POWER stellst?

Ich hatte auch Probleme wenn es mehrere mapReadings gab für eine Id. Das Autocreate macht da irgendwie Mist.
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

PeMue

Zitat von: gloob am 30 Oktober 2016, 17:27:07
Was passiert wenn du in FHEM folgende Attribute entfernst:
attr UG_Heizung_sensor mapReading_current 3 current
attr UG_Heizung_sensor mapReading_impedance 3 impedance

und in der Presentation auf S_POWER stellst?
Nichts, bleibt wie es ist (MySensors Library 2.0.0). Wenn ich aber einen Sketch passend zur Library 1.5.x nehme, dann geht es. Warum auch immer  >:(

Das Sensebender Micro ist auch so ein komisches Ding:
- scheinbar ist es auf 1 MHz konfiguriert
- aber dann passt die Baudrateneinstellung nicht mehr  >:( >:( >:(

Naja, jetzt habe cih einen mal mit 1.5 und den anderen mit 2.0 Sketch bespielt. Mal sehen, wie die Reichweite ist.

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

kleinerDrache

Pack mal in den Sensbender Sketch oben

#define MY_BAUD_RATE 9600

mit rein damit kannst du  die Serial Baudrate ändern.

Die Extra Attribs kommen von Gewählten Sensor Type, die werden immer mitgesendet ob du die nutzt oder nicht, aber nur die mit Daten werden in die Readings übernommen. Entfern mal den Sensor komplett aus FHEM Lösche das EEPROM des Sensors und lösch im FHEM die eventTypes. Hatte da auch mal Probleme mit weil ich die ID schon mal verwendet hatte. Ob das jetzt am EEPROM oder den eventTypes lag weis ich nicht genau aber das hat geholfen.
Raspi 2 - Hmusb2 , 2xJeeLink , EnOcean pi: Serie14 Geräte , 6xHM-Sec-Rhs , 6xHM-CC-RT-DN, verschiedene MySensor Nodes, ein bischen MQTT

gloob

Der Sensebender schaltet nach x Übertragungen automatisch von 8Mhz auf 1Mhz runter um Strom zu sparen. Das kannst du aber im Sketch deaktivieren.
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

PeMue

Zitat von: gloob am 01 November 2016, 18:21:41
Der Sensebender schaltet nach x Übertragungen automatisch von 8Mhz auf 1Mhz runter um Strom zu sparen.
Danke für die Infos. Ich habe beim Start die LED 0,2 s blinken lassen. Wenn ich für 8 MHz kompiliere, dann dauert das relativ lange. Daher vermute ich, dass das Teil sofort im 1 MHz Modus loslegt. Aber ich schau mir ma die Fuses im Bootloader an ...

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Feuerpfeil

Hallo zusammen,

ich bin auch gerade dabei, mich mal ein wenig an MySensors heranzutasten.
Hab jetzt ein Serial-Gateway und ein node mit einem Phototransistor als Helligkeitsmesser.
So weit funktioniert das auch und fhem bekommt auch Daten, ABER wenn ich den RPi reboote oder auch nur fhem neu starte, kommt vom node nichts mehr in fhem an.
Ich muss dann erst den node ebenfalls resetten, damit in fhem wieder Daten geliefert werden.
Hatte testweise auch mal einen node mit PIR und der verhielt sich ebenfalls so.

Da ich mir nicht vorstellen kann, dass das ein normales Verhalten ist, wollte ich mal nachfragen, ob vlt jemand weiss, woran das liegen könnte ?

Dankeschön und viele Grüße,
Lars


Beta-User

Zitat von: Feuerpfeil am 04 November 2016, 12:58:58
oder auch nur fhem neu starte, kommt vom node nichts mehr in fhem an.
Habe eben mal den Test gemacht mit shutdown restart
Jedenfalls bei mir ist das nicht so, es wird weiter empfangen (allerdings "liebt" mein GW den status "startup complete", was mir nicht ganz normal vorkommt, aber was soll's...).

Welche Mysensors-Version nutzt Du?
Ansonsten würde ich auf Probleme mit der Funkverbindung tippen. Hast Du die Möglichkeit, eine der Nodes näher beim GW zu betreiben zum Testen?

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

Feuerpfeil

Zitat von: Beta-User am 04 November 2016, 20:39:06
Ansonsten würde ich auf Probleme mit der Funkverbindung tippen. Hast Du die Möglichkeit, eine der Nodes näher beim GW zu betreiben zum Testen?

Danke für den Tipp !  :)
Es scheint tatsächlich daran zu liegen.
Das hätte ich bei diesem Phänomen nicht vermutet.
Hatte weiter oben gelesen, dass sich die Frequenzen ein wenig anpassen lassen.
Das werde ich dann die Tage mal ausprobieren. Ansonsten habe ich auch noch von einem alten Router eine Wlan Antenne.
Die lässt sich bestimmt auch ans Gateway basteln. 

VG
Lars

kleinerDrache

@Beta-User
Solange du nicht Debug aktivierst oder Sensoren mit an den Gateway anschließt kommt da nicht mehr als Der "Lieblings Status" ;)

@Feuerpfeil
wegen der Reichweite : hast du Kondensatoren an den Funkmodulen ? Der Arduino liefert gerade wenn der an einem Handynetzteil oder PC-Anschluss läuft eine ziemlich "verrauschte" Spannung (Stichwort Schaltnetzteil) . Das geht ziemlich auf die Reichweite das kannst du einfach prüfen "Batterien drann statt Netzteil oder PC". Wenns dann nicht läuft kannst du halt noch den Kanal der NRF-Module ändern (siehe mein Beitrag etwas früher)
Raspi 2 - Hmusb2 , 2xJeeLink , EnOcean pi: Serie14 Geräte , 6xHM-Sec-Rhs , 6xHM-CC-RT-DN, verschiedene MySensor Nodes, ein bischen MQTT