Entwicklung / Sammelbestellung Platine für MySensors-WLAN-Gateway (ESP8266)

Begonnen von hexenmeister, 28 Dezember 2015, 15:08:33

Vorheriges Thema - Nächstes Thema

hexenmeister

Mein Sketch ist damals deswegen entstanden, weil die alte Version nicht direkt mit FHEM funktioniert hat. Für neuere Versionen (2.x) kann einfach das Original von mysensors.org genommen werden.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

micky0867

Ich glaube, ich habe bei mir einfach eine leere MySigningNone.h angelegt. Die braucht man m. W. nur zu füllen, wenn man signing benutzt.

Gesendet von meinem Toaster.

Jewe

Ok. Danke, dann versuche ich es heute Abend mit der aktuellen

Gesendet von meinem F5121 mit Tapatalk


Markus.

und wie kann denn ich das Board komplett löschen ohne es zu zerstören?
Hat da irgend jemand den passenden Sketch für mich ?? :-)

Gruß

Markus

Beta-User

Zitat von: Markus. am 01 März 2017, 08:57:41
Hat da irgend jemand den passenden Sketch für mich ?? :-)

Der MySensors-Lösch-Sketch ist nach meiner Kenntnis nur für Arduinos gedacht, aber 2 Gedanken:
- Wenn es nur um die ID geht, könntest Du die auch im GW-Sketch als "0" definieren
- Du kannst ganz was anderes (z.B. ESPeasy, eigentlich egal) draufflashen und dann den GW-Sketch wieder nehmen

Viel Erfolg

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

hexenmeister

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

Markus.

Werde da mal testen, aber hat schon malein anderer dieses Problem gehabt? Ich meine das ein Repeater angelegtwird in FHEM mit der seleben Software Version des Gateways?
Also das Gateway ist mit Mysensors Sketch 2.1.1 geflasht, als Sensor hab ich einen Sensebender Micro Version 1.5.
Klappt alles wunderbar soweit. Daten werden übertragen vom Sensor. Aber es wird halt auch ein Repeater angelegt mit Softwareversion 2.1.1. Wenn ich den Repeater lösche ist ernach dem nächsten Neustart von FHEM wieder da. Das Gateway macht auch autocreate=1.
Daher halt die Vermutung, das das Board schon mal als Repeater geflasht wurde und sich eben dieentsprechendnen IDs irgendwie im EEprom "festgefressen" haben. Weiß ja nicht ob das wirklich sein kann, deshalb nur eine Vermutung. ;-)


Gruß

Markus

Beta-User

Dass eine Node mit der ID "0" angelegt wird, ist völlig normal. Seit 2.0.0-beta kann das GW auch lokale Sensorik beinhalten, die erscheint dann unter dieser NodeID (siehe starterguide im Wiki).
Kann sein, dass die das Attribut repeater hat, aber das sollte Dich nicht weiter stören. Wenn Du es nicht brauchst, halt nach hidden verschieben...
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

Markus.

okay alles klar dann weiß ich bescheid :-)
Hab dieses Verhalten halt nur nirgendwo gefunden....
wer lesen kann ist klar im Vorteil... ;-)
Zitat
Da am Gateway gleichzeitig auch bereits Sensoren angeschlossen sein können, legt FHEM direkt auch ein erstes MYSENSORS_DEVICE mit der NodeID "0" an. Sollten bereits ChildIDs im presentation()-Abschnitt des Gateway-Sketches enthalten gewesen sein, werden auch die zum Typ des präsentierten Sensor-Child-Typs passenden Readings automatisch angelegt.

Aber da hätte ich noch eine weitere Frage...
Ist es möglich über stateformat (oder so) des Node den richtigen Status abzufragen bzw. anzeigen zu lassen? Bei mir steht dort "?.?.?."
Oderkann man die Überwachung eines Nodes nur dadurch lösen indemman eine Funktion schreibt? Z.B. "Du hast im Zeitraum X keine Daten mehr übertragen -> dann Fehler" ?



Vielen dank nochmal!!

Gruß

Markus

Jewe

So nun habe ich die Version von der Mysensors Siete hochgeladen. Die SSID und das Passwort dazu habe ich in dem Sketch eingetragen. Beim Hochladen blinken die LED´s und der Upload geht bis 100%.  Aber es schein so, als ob es nicht richtig funktioniert. Nach aus und einstecken tut sich nichts. Das GAteway holt sich keine IP-Adresse.

micky0867

Statische IP?
Hast du dich bei seid etc. verschrieben?
Ist in seid ein Blank?

Zum Repeater: hast du beim Gateway vllt. " MY_REPEATER_FEATURE" aktiviert?
Das ist m. W. nur für Nodes.

hexenmeister

Es ist ein Problem in Verbindung mit MySensors-Lib ab v2.0.0 aufgetaucht!
Standard-Gateway-Sketch benutzt GPIO16 als SendeLED, was bei der vollständigen Bestückung zum Resen beim Senden führt.


Ich habe auf meinen Boards eine WakeUp-Schaltung. Sie hilft bei Sensoren Strom zu sparen, macht jedoch bei einem GateWay eigentlich keinen Sinn, ich habe sie aus einem meiner anderen Projekte einfach übernommen. Technisch wird per GPIO16 ein Reset ausgelöst - und das weckt den Sensor.
Mein Gateway-Sketch für die alte Lib-Version macht mit GPIO16 nichts, die neuen Versionen gehen aber davon aus, dass hier eine LED hängt und aktivieren diese auch beim Senden, was dann zum Reset führt. Leider habe ich nicht auf Anhieb geschafft, dieses Verhalten im Sketch zu deaktivieren (und dafür die LEDs, die auf er Platine sind zu benutzen). Jede Änderung führte zum Hänger schon beim Booten. Da muss ich wohl etwas weiter nachforschen. Was aber sicher geholfen hat, ist das Trennen der Verbindung GPIO16<->RST. Dafür muss man entwerden R3 (Widerstand unter dem Funkmodul, mittig am Rand, querr dazu) auslöten, oder eine entsprechende Leiterbahn an der anderen Seite neben dem ESP trennen (z.B. vorsichtig mit einem Cutter-Messer). Auf Wunsch könnte zum Verdeutlichen Bilder nachreichen.

Weiterhin ist es empfehlenswert bei der Verwendung eines nRF mit PA+LNA direkt an die Versorgungspins des nRF einen zusätzlichen Kondensator (ein paar µF, genauer Wert nicht kritisch) zum Stabilisieren des Spannungsversorgung anzulöten.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

rippi46

Hallo Hexenmeister,

ich benutze folgenden Sketch für die Gateways und habe keine Probleme.

/**
* The MySensors Arduino library handles the wireless radio link and protocol
* between your home built sensors/actuators and HA controller of choice.
* The sensors forms a self healing radio network with optional repeaters. Each
* repeater and gateway builds a routing tables in EEPROM which keeps track of the
* network topology allowing messages to be routed to nodes.
*
* Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
* Copyright (C) 2013-2015 Sensnology AB
* Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
*
* Documentation: http://www.mysensors.org
* Support Forum: http://forum.mysensors.org
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
*******************************
*
* REVISION HISTORY
* Version 1.0 - Henrik EKblad
* Contribution by a-lurker and Anticimex,
* Contribution by Norbert Truchsess <norbert.truchsess@t-online.de>
* Contribution by Ivo Pullens (ESP8266 support)
*
* DESCRIPTION
* The EthernetGateway sends data received from sensors to the WiFi link.
* The gateway also accepts input on ethernet interface, which is then sent out to the radio network.
*
* VERA CONFIGURATION:
* Enter "ip-number:port" in the ip-field of the Arduino GW device. This will temporarily override any serial configuration for the Vera plugin.
* E.g. If you want to use the defualt values in this sketch enter: 192.168.178.66:5003
*
* LED purposes:
* - To use the feature, uncomment any of the MY_DEFAULT_xx_LED_PINs in your sketch, only the LEDs that is defined is used.
* - RX (green) - blink fast on radio message recieved. In inclusion mode will blink fast only on presentation recieved
* - TX (yellow) - blink fast on radio message transmitted. In inclusion mode will blink slowly
* - ERR (red) - fast blink on error during transmission error or recieve crc error
*
* See http://www.mysensors.org/build/esp8266_gateway for wiring instructions.
* nRF24L01+  ESP8266
* VCC        VCC
* CE         GPIO4
* CSN/CS     GPIO15
* SCK        GPIO14
* MISO       GPIO12
* MOSI       GPIO13
* GND        GND
*
* Not all ESP8266 modules have all pins available on their external interface.
* This code has been tested on an ESP-12 module.
* The ESP8266 requires a certain pin configuration to download code, and another one to run code:
* - Connect REST (reset) via 10K pullup resistor to VCC, and via switch to GND ('reset switch')
* - Connect GPIO15 via 10K pulldown resistor to GND
* - Connect CH_PD via 10K resistor to VCC
* - Connect GPIO2 via 10K resistor to VCC
* - Connect GPIO0 via 10K resistor to VCC, and via switch to GND ('bootload switch')
*
  * Inclusion mode button:
* - Connect GPIO5 via switch to GND ('inclusion switch')
*
* Hardware SHA204 signing is currently not supported!
*
* Make sure to fill in your ssid and WiFi password below for ssid & pass.
*/


// Enable debug prints to serial monitor
//#define MY_DEBUG

// Use a bit lower baudrate for serial prints on ESP8266 than default in MyConfig.h
#define MY_BAUD_RATE 9600

// Enables and select radio type (if attached)
#define MY_RADIO_NRF24
//#define MY_RADIO_RFM69

#define MY_GATEWAY_ESP8266

#define MY_ESP8266_SSID "EureSSID"
#define MY_ESP8266_PASSWORD "EuerPASSWORD"

// Enable UDP communication
//#define MY_USE_UDP

// Set the hostname for the WiFi Client. This is the hostname
// it will pass to the DHCP server if not static.
// #define MY_ESP8266_HOSTNAME "sensor-gateway"

// Enable MY_IP_ADDRESS here if you want a static ip address (no DHCP)
//#define MY_IP_ADDRESS 192,168,178,87

// If using static ip you need to define Gateway and Subnet address as well
//#define MY_IP_GATEWAY_ADDRESS 192,168,178,1
//#define MY_IP_SUBNET_ADDRESS 255,255,255,0

// The port to keep open on node server mode
#define MY_PORT 5003

// How many clients should be able to connect to this gateway (default 1)
#define MY_GATEWAY_MAX_CLIENTS 2

// Controller ip address. Enables client mode (default is "server" mode).
// Also enable this if MY_USE_UDP is used and you want sensor data sent somewhere.
//#define MY_CONTROLLER_IP_ADDRESS 192, 168, 178, 68

// Enable inclusion mode
#define MY_INCLUSION_MODE_FEATURE

// Enable Inclusion mode button on gateway
// #define MY_INCLUSION_BUTTON_FEATURE
// Set inclusion mode duration (in seconds)
#define MY_INCLUSION_MODE_DURATION 60
// Digital pin used for inclusion mode button
#define MY_INCLUSION_MODE_BUTTON_PIN  5


// Set blinking period
// #define MY_DEFAULT_LED_BLINK_PERIOD 300

// Flash leds on rx/tx/err
// Led pins used if blinking feature is enabled above
#define MY_DEFAULT_ERR_LED_PIN 2  // Error led pin
#define MY_DEFAULT_RX_LED_PIN  3  // Receive led pin
#define MY_DEFAULT_TX_LED_PIN  1  // the PCB, on board LED

#if defined(MY_USE_UDP)
#include <WiFiUdp.h>
#endif

#include <ESP8266WiFi.h>

#include <MySensors.h>

void setup()
{
}

void presentation()
{
// Present locally attached sensors here
}


void loop()
{
// Send locally attached sensors data here
}


Gruß rippi
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

hexenmeister

Hallo rippi,

danke, ich werde das heute Abend probieren, wäre natürlich eine deutlich weniger invasive Lösung! ;D

Grüße
Alexander
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Papaloewe

Hallo Hexenmeister,

ich bin auf Umwegen jetzt auch stolzer Besitzer deines mySensor-Wifi-Gateways, aber auch noch komplett neu in der Materie "mySensors", leider.

Ich habe jetzt (noch) nicht den kompletten Thread durchgelesen, daher die Frage nach den verwendeten Pin's
für den inclusion-Button und die drei LED's.

Ist die Definition aus dem oben gelisteten Sketch so richtig?

#define MY_INCLUSION_MODE_BUTTON_PIN  5
#define MY_DEFAULT_ERR_LED_PIN 2  // Error led pin
#define MY_DEFAULT_RX_LED_PIN  3  // Receive led pin
#define MY_DEFAULT_TX_LED_PIN  1  // the PCB, on board LED


Vielen Dank.

P.S.: Die Micro-USB Buchse zur dauerhaften Stromversorgung scheint wenig geeinet zu sein und hat bei mir auch schon einen Wackler, aber zum Glück gibt es ja noch die Schraubklemmen.  :)

Ach ja, wie ist denn der aktuelle Stand wegen der GPIO16 Leitung?