ESP8266 WiFi gateway issue
-
There is a small problem with domoticz regarding the light level (fixed in beta #3563)
When the slider was set to 100%, around 93% was send to the nodeBUT, what domoticz sends, is OK, there is NO version stuff added (really strange your seeing this!)
I made a test sketch, and this is the output:
Starting...
send: 254-254-0-0 s=255,c=0,t=17,pt=0,l=10,sg=0,st=ok:1.6.0-beta
send: 254-254-0-0 s=255,c=3,t=6,pt=1,l=1,sg=0,st=ok:0
read: 0-0-254 s=255,c=3,t=6,pt=0,l=1,sg=0:M
send: 254-254-0-0 s=1,c=0,t=4,pt=0,l=0,sg=0,st=ok:
send: 254-254-0-0 s=255,c=3,t=11,pt=0,l=21,sg=0,st=ok:DimmableLED /w button
send: 254-254-0-0 s=255,c=3,t=12,pt=0,l=3,sg=0,st=ok:1.2
sensor started, id=254, parent=0, distance=1
Ready to receive messages...
read: 0-0-254 s=1,c=1,t=2,pt=0,l=1,sg=0:0
send: 254-254-0-0 s=1,c=1,t=2,pt=0,l=1,sg=0,st=ok:0
V_LIGHT received: 0
read: 0-0-254 s=1,c=1,t=2,pt=0,l=1,sg=0:1
send: 254-254-0-0 s=1,c=1,t=2,pt=0,l=1,sg=0,st=ok:1
V_LIGHT received: 1
read: 0-0-254 s=1,c=1,t=3,pt=0,l=2,sg=0:43
send: 254-254-0-0 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:43
V_DIMMER received: 43
read: 0-0-254 s=1,c=1,t=3,pt=0,l=2,sg=0:86
send: 254-254-0-0 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:86
V_DIMMER received: 86
read: 0-0-254 s=1,c=1,t=3,pt=0,l=3,sg=0:100
send: 254-254-0-0 s=1,c=1,t=3,pt=0,l=3,sg=0,st=ok:100
V_DIMMER received: 100All perfect
Sketch:
// Enable debug prints
#define MY_DEBUG// Enable and select radio type attached
#define MY_RADIO_NRF24
//#define MY_RADIO_RFM69#define MY_NODE_ID 254
#include <SPI.h>
#include <MySensor.h>#define SN "DimmableLED /w button"
#define SV "1.2"#define CHILD_ID_LIGHT 1
MyMessage dimmerMsg(CHILD_ID_LIGHT, V_DIMMER);
void setup()
{
Serial.println("Ready to receive messages...");
}void presentation() {
// Send the Sketch Version Information to the Gateway
present(CHILD_ID_LIGHT, S_DIMMER);
sendSketchInfo(SN, SV);
}void loop()
{
}void receive(const MyMessage &message)
{
if (message.type == V_LIGHT) {
Serial.print("V_LIGHT received: ");
Serial.println(message.getString());
} else if (message.type == V_DIMMER) {
Serial.print("V_DIMMER received: ");
Serial.println(message.getString());
}
else {
Serial.print("Unhandled message received: ");
Serial.println(message.getString());
}
}@GizMoCuz
I have tested Your sketch and the same stuff is added at the endStarting... send: 254-254-0-0 s=255,c=0,t=17,pt=0,l=10,sg=0,st=ok:1.6.0-beta send: 254-254-0-0 s=255,c=3,t=6,pt=1,l=1,sg=0,st=ok:0 read: 0-0-254 s=255,c=3,t=6,pt=0,l=7,sg=0:Mersion send: 254-254-0-0 s=1,c=0,t=4,pt=0,l=0,sg=0,st=ok: send: 254-254-0-0 s=255,c=3,t=11,pt=0,l=21,sg=0,st=ok:DimmableLED /w button send: 254-254-0-0 s=255,c=3,t=12,pt=0,l=3,sg=0,st=ok:1.2 sensor started, id=254, parent=0, distance=1 Ready to receive messages... read: 0-0-254 s=1,c=1,t=2,pt=0,l=1,sg=0:0 send: 254-254-0-0 s=1,c=1,t=2,pt=0,l=1,sg=0,st=ok:0 V_LIGHT received: 0 read: 0-0-254 s=1,c=1,t=2,pt=0,l=1,sg=0:1 send: 254-254-0-0 s=1,c=1,t=2,pt=0,l=1,sg=0,st=ok:1 V_LIGHT received: 1 read: 0-0-254 s=1,c=1,t=3,pt=0,l=9,sg=0:93Mersion send: 254-254-0-0 s=1,c=1,t=3,pt=0,l=9,sg=0,st=ok:93Mersion V_DIMMER received: 93Mersion read: 0-0-254 s=1,c=1,t=3,pt=0,l=9,sg=0:86Mersion send: 254-254-0-0 s=1,c=1,t=3,pt=0,l=9,sg=0,st=ok:86Mersion V_DIMMER received: 86Mersion read: 0-0-254 s=1,c=1,t=3,pt=0,l=9,sg=0:79Mersion send: 254-254-0-0 s=1,c=1,t=3,pt=0,l=9,sg=0,st=ok:79Mersion V_DIMMER received: 79Mersion read: 0-0-254 s=1,c=1,t=3,pt=0,l=9,sg=0:71Mersion send: 254-254-0-0 s=1,c=1,t=3,pt=0,l=9,sg=0,st=ok:71Mersion V_DIMMER received: 71Mersion read: 0-0-254 s=1,c=1,t=3,pt=0,l=9,sg=0:64Mersion send: 254-254-0-0 s=1,c=1,t=3,pt=0,l=9,sg=0,st=ok:64Mersion V_DIMMER received: 64Mersion read: 0-0-254 s=1,c=1,t=3,pt=0,l=9,sg=0:57Mersion send: 254-254-0-0 s=1,c=1,t=3,pt=0,l=9,sg=0,st=ok:57Mersion V_DIMMER received: 57Mersion read: 0-0-254 s=1,c=1,t=3,pt=0,l=9,sg=0:50Mersion send: 254-254-0-0 s=1,c=1,t=3,pt=0,l=9,sg=0,st=ok:50Mersion V_DIMMER received: 50Mersion read: 0-0-254 s=1,c=1,t=3,pt=0,l=9,sg=0:43Mersion send: 254-254-0-0 s=1,c=1,t=3,pt=0,l=9,sg=0,st=ok:43Mersion V_DIMMER received: 43Mersion read: 0-0-254 s=1,c=1,t=3,pt=0,l=9,sg=0:36Mersion send: 254-254-0-0 s=1,c=1,t=3,pt=0,l=9,sg=0,st=ok:36Mersion V_DIMMER received: 36Mersion read: 0-0-254 s=1,c=1,t=3,pt=0,l=9,sg=0:29Mersion send: 254-254-0-0 s=1,c=1,t=3,pt=0,l=9,sg=0,st=ok:29Mersion V_DIMMER received: 29Mersion read: 0-0-254 s=1,c=1,t=3,pt=0,l=9,sg=0:21Mersion send: 254-254-0-0 s=1,c=1,t=3,pt=0,l=9,sg=0,st=ok:21Mersion V_DIMMER received: 21Mersion read: 0-0-254 s=1,c=1,t=3,pt=0,l=9,sg=0:14Mersion send: 254-254-0-0 s=1,c=1,t=3,pt=0,l=9,sg=0,st=ok:14Mersion V_DIMMER received: 14Mersion read: 0-0-254 s=1,c=1,t=3,pt=0,l=9,sg=0:74Mersion send: 254-254-0-0 s=1,c=1,t=3,pt=0,l=9,sg=0,st=ok:74Mersion V_DIMMER received: 74Mersion read: 0-0-254 s=1,c=1,t=2,pt=0,l=9,sg=0:04Mersion send: 254-254-0-0 s=1,c=1,t=2,pt=0,l=9,sg=0,st=ok:04Mersion V_LIGHT received: 04MersionIs it possible as some crap is sitting in my ESP8266 EEPROM memory?
-
@hek, with \n
MySensors is implemented in domoticz for a long time now... there should be nothing wrong with it.....Also in my sketches all is received perfectly
Could there be a difference between the ESP8266 and nRF ?
I only use the nRF currently (and probably will for ever as i have 20 more chips and a lot more arduino's g)Also i do not send anything with the word version in it, it looks this is a left over from sending the sketch information ?
I dont know how you guys get that nice colors in the log (brown/white/green), but the green number is OK, that white behind it is not
-
I made a Serial Gateway and updated Domoticz to latest beta, and this is the output from the same sensor.
0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=1,sg=0,st=ok:7 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=1,sg=0:7 2;1;1;1;3;7 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:14 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:14 2;1;1;1;3;14 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:21 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:21 2;1;1;1;3;21 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:29 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:29 2;1;1;1;3;29 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:36 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:36 2;1;1;1;3;36 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:43 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:43 2;1;1;1;3;43 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:50 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:50 2;1;1;1;3;50 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:57 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:57 2;1;1;1;3;57 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:64 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:64 2;1;1;1;3;64 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:71 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:71 2;1;1;1;3;71 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:79 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:79 2;1;1;1;3;79 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:86 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:86 2;1;1;1;3;86 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:93 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:93 2;1;1;1;3;93 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=3,sg=0,st=ok:100 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=3,sg=0:100 2;1;1;1;3;100All OK
-
Could you try replacing this in MySensors/core/MyGatewayTransportEthernet.cpp
bool _readFromClient(uint8_t i) { while (clients[i].connected() && clients[i].available()) { char inChar = clients[i].read(); if (inputString[i].idx < MY_GATEWAY_MAX_RECEIVE_LENGTH - 1) { // if newline then command is complete if (inChar == '\n') { // a command was issued by the client // we will now try to send it to the actuator // echo the string to the serial port debug(PSTR("Client %d: %s\n"), i, inputString[i].string); // add string terminator and clear the string: inputString[i].string[inputString[i].idx] = 0; inputString[i].idx = 0; bool ret = protocolParse(_ethernetMsg, inputString[i].string); if (ret) { return ret; } } else { // add it to the inputString: inputString[i].string[inputString[i].idx++] = inChar; } } else { // Incoming message too long. Throw away debug(PSTR("Client %d: Message too long\n"), i); inputString[i].idx = 0; // Finished with this client's message. Next loop() we'll see if there's more to read. break; } } return false; }And let me know how it behaves.
-
It's much better now. I can control dimmer from the domoticz. :)
0;0;3;0;9;Client 0 connected 0;0;3;0;9;Client 0: 0;0;3;0;2;Get Version 0;0;3;0;2;Get Version 0;0;3;0;9;read: 2-2-0 s=255,c=0,t=17,pt=0,l=10,sg=0:1.6.0-beta 0;0;3;0;9;read: 2-2-0 s=255,c=3,t=6,pt=1,l=1,sg=0:0 0;0;3;0;9;Client 0: 2;255;3;0;6;M Version 2;255;3;0;6;M 0;0;3;0;9;send: 0-0-2-2 s=255,c=3,t=6,pt=0,l=1,sg=0,st=ok:M 0;0;3;0;9;read: 2-2-0 s=1,c=0,t=4,pt=0,l=0,sg=0: 0;0;3;0;9;read: 2-2-0 s=255,c=3,t=11,pt=0,l=21,sg=0:DimmableLED /w bu 0;0;3;0;9;read: 2-2-0 s=255,c=3,t=12,pt=0,l=3,sg=0:1.2 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=1,l=1,sg=0:100 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=1,l=1,sg=0,st=ok:100 0;0;3;0;9;Client 0: 2;1;1;1;3;93M 2;1;1;1;3;93 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:93 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:93 0;0;3;0;9;Client 0: 2;1;1;1;3;86 2;1;1;1;3;86 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:86 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:86 0;0;3;0;9;Client 0: 2;1;1;1;3;79 2;1;1;1;3;79 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:79 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:79 0;0;3;0;9;Client 0: 2;1;1;1;3;71 2;1;1;1;3;71 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:71 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:71 0;0;3;0;9;Client 0: 2;1;1;1;3;64 2;1;1;1;3;64 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:64 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:64 0;0;3;0;9;Client 0: 2;1;1;1;3;57 2;1;1;1;3;57 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:57 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:57 0;0;3;0;9;Client 0: 2;1;1;1;3;50 2;1;1;1;3;50 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:50 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:50 0;0;3;0;9;Client 0: 2;1;1;1;3;43 2;1;1;1;3;43 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:43 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:43 0;0;3;0;9;Client 0: 2;1;1;1;3;36 2;1;1;1;3;36 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:36 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:36 0;0;3;0;9;Client 0: 2;1;1;1;3;36 2;1;1;1;3;36 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:36 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:36 0;0;3;0;9;Client 0: 2;1;1;1;3;29 2;1;1;1;3;29 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:29 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:29 0;0;3;0;9;Client 0: 2;1;1;1;3;21 2;1;1;1;3;21 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:21 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:21 0;0;3;0;9;Client 0: 2;1;1;1;3;14 2;1;1;1;3;14 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=2,sg=0,st=ok:14 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=2,sg=0:14 0;0;3;0;9;Client 0: 2;1;1;1;3;74 2;1;1;1;3;7 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=0,l=1,sg=0,st=ok:7 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=0,l=1,sg=0:7 0;0;3;0;9;Client 0: 2;1;1;1;2;0 2;1;1;1;2;0 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=2,pt=0,l=1,sg=0,st=ok:0 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=2,pt=0,l=1,sg=0:0 0;0;3;0;9;read: 2-2-0 s=1,c=1,t=3,pt=2,l=2,sg=0:0 0;0;3;0;9;send: 0-0-2-2 s=1,c=1,t=3,pt=2,l=2,sg=0,st=ok:0 -
-
I don't know if i understan you right here, @Hek
if i like to use the start button in vera should it look like this
// 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 3
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login
