Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

DIY: Itho ventilatie aansturen via 868Mhz transmitter

Pagina: 1 ... 7 8 9 Laatste
Acties:

  • jodur
  • Registratie: mei 2007
  • Laatst online: 20-02 21:12
Voor diegene die homeassistant gebruiken en mijn ESP_EASY plugin. :)F



Hieronder de home assistant config scripts:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
sensor:
  - platform: mqtt
    name: Tijd
    state_topic: "/ESP_Easy/Fan/Timer"
    value_template: "{{value}}"
    unit_of_measurement: 's'
  - platform: mqtt
    name : Snelheid
    state_topic: "/ESP_Easy/Fan/State"
    value_template: >
      {% if value|float==0 %}Standby{% endif %}
      {% if value|float==1 %}Laag{% endif %}
      {% if value|float==2 %}Medium{% endif %}
      {% if value|float==3 %}Hoog{% endif %}
      {% if value|float==4 %}Full{% endif %}
      {% if value|float>=11 %}Hoog(T){% endif %}
     
fan:
  - platform: mqtt
    command_topic: "/ESP_Easy/Fan/cmd"
    state_topic : "/ESP_Easy/Fan/State"
    speed_command_topic: "/ESP_Easy/Fan/cmd"
    speed_state_topic: "/ESP_Easy/Fan/State"
    state_value_template: "{% if value|float==0 %}State 0{% endif %}{% if value|float >0 %}State 1{% endif %}"
    speed_value_template: "{% if value|float==0 %}State 0{% endif %}{% if value|float >0 and value|float <=4 %}State {{value}}{% endif %}{% if value|float >=11 %}State 3{% endif %}"
    payload_on: "State 1"
    payload_off: "State 0"
    payload_low_speed: "State 1"
    payload_medium_speed: "State 2"
    payload_high_speed: "State 3"
    optimistic: "true"
    name: Afzuiging badkamer
    speeds:
      - low
      - medium
      - high    

group:
  Ventilator:
    entities:
      - fan.afzuiging_badkamer
      - sensor.Snelheid
      - sensor.Tijd

customize.yaml
code:
1
2
3
4
   sensor.tijd:
      icon: mdi:timer
   sensor.snelheid:
      icon: mdi:transfer


  • Templar
  • Registratie: september 2000
  • Laatst online: 18-02 21:50
quote:
demanditho schreef op dinsdag 9 januari 2018 @ 16:56:
Heeft er iemand kunnen koppelen dan met een demand of quality flow systeem? Deze werken met de zenders van type 536-0146
demanditho, zou je dan ook meteen jouw command-id's willen invoeren in deze lijst? Overzicht command codes RFT zenders Jouw RFT zender heb ik nog niet voorbij zien komen in dit topic.

  • dof
  • Registratie: juli 2010
  • Laatst online: 00:29
quote:
jodur schreef op woensdag 10 januari 2018 @ 19:59:
Voor diegene die homeassistant gebruiken en mijn ESP_EASY plugin. :)F

[afbeelding]

Hieronder de home assistant config scripts:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
sensor:
  - platform: mqtt
    name: Tijd
    state_topic: "/ESP_Easy/Fan/Timer"
    value_template: "{{value}}"
    unit_of_measurement: 's'
  - platform: mqtt
    name : Snelheid
    state_topic: "/ESP_Easy/Fan/State"
    value_template: >
      {% if value|float==0 %}Standby{% endif %}
      {% if value|float==1 %}Laag{% endif %}
      {% if value|float==2 %}Medium{% endif %}
      {% if value|float==3 %}Hoog{% endif %}
      {% if value|float==4 %}Full{% endif %}
      {% if value|float>=11 %}Hoog(T){% endif %}
     
fan:
  - platform: mqtt
    command_topic: "/ESP_Easy/Fan/cmd"
    state_topic : "/ESP_Easy/Fan/State"
    speed_command_topic: "/ESP_Easy/Fan/cmd"
    speed_state_topic: "/ESP_Easy/Fan/State"
    state_value_template: "{% if value|float==0 %}State 0{% endif %}{% if value|float >0 %}State 1{% endif %}"
    speed_value_template: "{% if value|float==0 %}State 0{% endif %}{% if value|float >0 and value|float <=4 %}State {{value}}{% endif %}{% if value|float >=11 %}State 3{% endif %}"
    payload_on: "State 1"
    payload_off: "State 0"
    payload_low_speed: "State 1"
    payload_medium_speed: "State 2"
    payload_high_speed: "State 3"
    optimistic: "true"
    name: Afzuiging badkamer
    speeds:
      - low
      - medium
      - high    

group:
  Ventilator:
    entities:
      - fan.afzuiging_badkamer
      - sensor.Snelheid
      - sensor.Tijd

customize.yaml
code:
1
2
3
4
   sensor.tijd:
      icon: mdi:timer
   sensor.snelheid:
      icon: mdi:transfer

Oef, dat ziet er heel gaaf uit. _/-\o_

Ben ik helaas nog niet aan toe want nog druk bezig HA te doorgronden en andere sensors en schakelaars te installeren.

  • Pascal Saul
  • Registratie: augustus 2001
  • Laatst online: 21-02 21:17
quote:
jodur schreef op woensdag 10 januari 2018 @ 19:59:
Voor diegene die homeassistant gebruiken en mijn ESP_EASY plugin. :)F

[afbeelding]

Hieronder de home assistant config scripts:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
sensor:
  - platform: mqtt
    name: Tijd
    state_topic: "/ESP_Easy/Fan/Timer"
    value_template: "{{value}}"
    unit_of_measurement: 's'
  - platform: mqtt
    name : Snelheid
    state_topic: "/ESP_Easy/Fan/State"
    value_template: >
      {% if value|float==0 %}Standby{% endif %}
      {% if value|float==1 %}Laag{% endif %}
      {% if value|float==2 %}Medium{% endif %}
      {% if value|float==3 %}Hoog{% endif %}
      {% if value|float==4 %}Full{% endif %}
      {% if value|float>=11 %}Hoog(T){% endif %}
     
fan:
  - platform: mqtt
    command_topic: "/ESP_Easy/Fan/cmd"
    state_topic : "/ESP_Easy/Fan/State"
    speed_command_topic: "/ESP_Easy/Fan/cmd"
    speed_state_topic: "/ESP_Easy/Fan/State"
    state_value_template: "{% if value|float==0 %}State 0{% endif %}{% if value|float >0 %}State 1{% endif %}"
    speed_value_template: "{% if value|float==0 %}State 0{% endif %}{% if value|float >0 and value|float <=4 %}State {{value}}{% endif %}{% if value|float >=11 %}State 3{% endif %}"
    payload_on: "State 1"
    payload_off: "State 0"
    payload_low_speed: "State 1"
    payload_medium_speed: "State 2"
    payload_high_speed: "State 3"
    optimistic: "true"
    name: Afzuiging badkamer
    speeds:
      - low
      - medium
      - high    

group:
  Ventilator:
    entities:
      - fan.afzuiging_badkamer
      - sensor.Snelheid
      - sensor.Tijd

customize.yaml
code:
1
2
3
4
   sensor.tijd:
      icon: mdi:timer
   sensor.snelheid:
      icon: mdi:transfer

Het installeren was even een bitch want ik dacht even de firmware over de van ThinkPad te zetten maar dat gaat dus niet :(

Daarna aan de praat gekregen maar ik zag de ID's van mijn RF's niet... Dat komt omdat iedereen pin 6 - GDO2 niet heeft gesoldeerd aan zijn C1101... Dat moet ik nog even doen dus :) Het lijkt er aardig op in elk geval!

Draad eraan gesoldeerd maar ik zie nergens dat ik de D1 nog ergens moet configureren of is dat de sensor?

  • balk
  • Registratie: januari 2000
  • Laatst online: 13:26
quote:
jodur schreef op maandag 8 januari 2018 @ 22:37:
Allen, hierbij de first release van mijn ESP Easy plugin die ook commandos "ontvangt" van bestaande remotes. :)F

Lees eerst de readme.md door voor je vragen stelt.

https://github.com/jodur/ESPEASY_Plugin_ITHO

Ik heb heb nog geen duurtesten gedaan en heb hem maar kunnen testen met 1 RF remote, maar dat kan niet het probleem zijn.

N.B. er is ook een binary toegevoegd die je direct kan flashen!

Hoor graag jullie bevindingen!
hij werkt! _/-\o_ Ik ga nog proberen toe te voegen dat het status topic ook de bron van de setting teruggeeft (dus aa-11-11-11 etc, of espeasycommand oid.

  • jodur
  • Registratie: mei 2007
  • Laatst online: 20-02 21:12
quote:
balk schreef op donderdag 11 januari 2018 @ 23:23:
Ik ga nog proberen toe te voegen dat het status topic ook de bron van de setting teruggeeft (dus aa-11-11-11 etc, of espeasycommand oid.
Ik heb hier ook aan geacht om dit nog toe te voegen. Ik zou dit dan in een apart topic publishen b.v.: LastID

Last ID geeft dan een string terug van de remote die als laatste de FAN heeft aangetuurd.
In het geval van de ESP, zou het device ID dan de Naam van het ESP_device zijn zoals deze is ingesteld.

Wil hier wel naar kijken op verzoek, maar leek mij een zinloze toevoeging!

N.B. de standaard ESP is ingericht voor het doorgeven van numerieke waarden.

  • Ierlandfan
  • Registratie: augustus 2002
  • Laatst online: 21-02 17:41
Wat moet er in de code aangepast worden om de (raw) command-id's te onderscheppen?
Ik heb een aantal unknown commands die ik graag wil delen en dan kan ik ook tevens de database van Templar aanvullen.

Wat ik bedoel is,
(Voorbeeld van log of serial output):
Device-ID remote: 69-99-56-55-a5-6a-a9-aa ,Command ID received: hier-komt-dan-command-id
Device-ID remote: 69-99-56-55-a5-6a-a9-aa ,Command = unknown

  • demanditho
  • Registratie: januari 2018
  • Laatst online: 10-02 19:48
Het is gelukt om mee te luisteren met de bestaande afstandsbediening. Ik heb de codes erin gezet. Het is nog niet gelukt om zelf commando's te versturen (en die dan ook effect hebben). Ik zie dat de commando code ook verwerkt wordt in het uitgaande command. Heeft er iemand een tips over hoe die aanpassingen te maken?

Ik zou het liefste mijn eigen device id gebruiken omdat het koppelen bij deze itho lastig is.
quote:
Templar schreef op woensdag 10 januari 2018 @ 22:52:
[...]

demanditho, zou je dan ook meteen jouw command-id's willen invoeren in deze lijst? Overzicht command codes RFT zenders Jouw RFT zender heb ik nog niet voorbij zien komen in dit topic.

  • jvdzande
  • Registratie: november 2015
  • Laatst online: 09:37
quote:
demanditho schreef op vrijdag 12 januari 2018 @ 17:15:
Heeft er iemand een tips over hoe die aanpassingen te maken?
Heb je het JOIN process gedaan?

Jos

  • demanditho
  • Registratie: januari 2018
  • Laatst online: 10-02 19:48
Dat is tricky bij deze. Het join commando is bij deze ook anders. Verder is dit een soort master afstandsbediening waarmee hele systeem in geregeld wordt. Deze afstandbediening zit bij een demandflow systeem, waarbij CO2 in alle kamers apart gemeten wordt.

Ik heb net een 536-0150 afstandsbediening bij de buren geleend, deze is bedoeld om in de badkamer tijdelijk extra af te voeren. Bij deze is het joinen minder een probleem.

  • jvdmast
  • Registratie: november 2002
  • Laatst online: 20-02 19:25
quote:
Ierlandfan schreef op vrijdag 12 januari 2018 @ 17:03:
Wat moet er in de code aangepast worden om de (raw) command-id's te onderscheppen?
Met deze regel wordt gefilterd wat jij wilt zien:
https://github.com/supers...RFT/IthoEcoFanRFT.ino#L80
Dus vervang dit:
C++:
1
    if ((cmd != IthoUnknown) && chk) {  // only act on good cmd and correct id.

door zoiets:
C++:
1
    if (true) {  // act on every packet.

Volgens mij is dat al genoeg.
Je zou ook een (grote) stap verder kunnen gaan en het hele message proberen te tonen.
Dit zit in de library in "inMessage2".
Middels een vergelijkbare functie als getLastIDstr zou je die dan netjes kunnen printen.
https://github.com/supers.../IthoCC1101.cpp#L986-L993
Even uit de losse pols ongeveer:
C++:
1
2
3
4
5
6
7
8
String IthoCC1101::getLastMessage2str() {
    String str;
    for (uint8_t i=0; i<72;i++) {
        str += String(inMessage2.data[i], HEX);
        if (i<71) str += "-";
    }
    return str;
}

Dan krijg je alle data die binnenkwam.
Oja, en natuurlijk netjes de functie toevoegen in de IthoCC1101.h file onder de public sectie.
quote:
demanditho schreef op vrijdag 12 januari 2018 @ 17:47:
Dat is tricky bij deze. Het join commando is bij deze ook anders.
Ik snap je dilemma. Maar zonder een join zal het sowieso nooit werken. Kan je met de library wel de commando's ontvangen van jouw remote, daarvoor is geen join nodig? (oftewel is het op dat vlak wel compatible)

jvdmast wijzigde deze reactie 12-01-2018 21:28 (26%)
Reden: message2 weergeven


  • martinvdm
  • Registratie: januari 2001
  • Laatst online: 10:26

martinvdm

www.martinvdm.nl

Waar gaat jullie voorkeur naar uit? Een NodeMcu v3 of een Wemos? Ik begreep dat de Wemos al eerder bij sommige niet heeft gewerkt.
Klopt het dat je bij beide geen serial converter meer nodig hebt maar alles kan doen via de usb en de driver?

Zou iemand een stappen plan kunnen bevestigen / uitbreiden? Wellicht voor in de topic start?

Ik dacht zelf ongeveer:
1. C1101 solderen aan NodeMcu/Wemos
2. Antenne
3. EspEasy flashen voor esp8266
4. ESPEASY_Plugin_ITHO Installeren van @jodur
5. Aansturen via MQTT in domotic of HA

Zie ik iets over het hoofd zo?

He who laughs last thinks slowest! | MartinvdM.nl | 3000Wp Zonnepanelen


  • jvdmast
  • Registratie: november 2002
  • Laatst online: 20-02 19:25
quote:
martinvdm schreef op vrijdag 12 januari 2018 @ 21:42:
Waar gaat jullie voorkeur naar uit? Een NodeMcu v3 of een Wemos? Ik begreep dat de Wemos al eerder bij sommige niet heeft gewerkt.
Ik heb alleen het vermoeden dat er Wemos issues ontstaan met een paar modellen die geen metalen schildje om de esp8266 chip zelf hebben. Dit is een wemos zonder shield:
https://www.hobbyelectronica.nl/product/wemos-d1-mini-v2/
(zonder negatief de webshop te willen noemen!)
Of deze:
https://nl.aliexpress.com...nt-board/32724692514.html

Ik vermoed dat die erg gevoelig zijn voor de sterke RF signalen van de cc1101.

jvdmast wijzigde deze reactie 12-01-2018 22:04 (18%)


  • stverschoof
  • Registratie: december 2009
  • Laatst online: 16:16
@jvdmast Je advies van hier gevolgd om even niet te controleren op ID en command type, en even gezorgd dat ik de waarde van RFTlastCommand uitprint naar serieel, maar ik zie niks als ik mijn eigen remote gebruik, en qua commando krijg ik ook een hele bijzondere waarde. Ik gebruik een Wemos D1 Mini (met schild dus) en een generieke CC1101 868mhz module van ebay.

Kan jij verklaren wat ik hier zie? Voorheen (de vorige versie van je code op github) heeft het altijd gewerkt qua verzenden van commando's, maar ook dat krijg ik nu niet aan de gang (wellicht omdat ik mijn eigen remote ID niet eens zie).
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
RFT Current Pos: 1, Good Pos: 255
Stored 3 commands: 0 0 0 / Stored 3 RSSI's:     0 99 0 / Stored 3 ID checks: 0 0 0 / Last ID: 90-91-20-80-a0-20-d-b2 / Command = -17829890

RFT Current Pos: 2, Good Pos: 255
Stored 3 commands: 0 0 0 / Stored 3 RSSI's:     0 99 98 / Stored 3 ID checks: 0 0 0 / Last ID: 55-9-2e-b1-6d-3c-eb-a9 / Command = -17829890

RFT Current Pos: 0, Good Pos: 255
Stored 3 commands: 0 0 0 / Stored 3 RSSI's:     101 99 98 / Stored 3 ID checks: 0 0 0 / Last ID: 6a-da-96-8e-aa-6a-aa-6a / Command = -17829890

RFT Current Pos: 1, Good Pos: 255
Stored 3 commands: 0 0 0 / Stored 3 RSSI's:     101 97 98 / Stored 3 ID checks: 0 0 0 / Last ID: a9-95-56-9a-a9-a6-9a-a6 / Command = -17829890

RFT Current Pos: 2, Good Pos: 255
Stored 3 commands: 0 0 0 / Stored 3 RSSI's:     101 97 101 / Stored 3 ID checks: 0 0 0 / Last ID: 53-88-a8-51-5-8-a1-41 / Command = -17829890

stverschoof wijzigde deze reactie 12-01-2018 22:31 (7%)


  • martinvdm
  • Registratie: januari 2001
  • Laatst online: 10:26

martinvdm

www.martinvdm.nl

quote:
jvdmast schreef op vrijdag 12 januari 2018 @ 22:02:
[...]

Ik heb alleen het vermoeden dat er Wemos issues ontstaan met een paar modellen die geen metalen schildje om de esp8266 chip zelf hebben. Dit is een wemos zonder shield:
https://www.hobbyelectronica.nl/product/wemos-d1-mini-v2/
(zonder negatief de webshop te willen noemen!)
Of deze:
https://nl.aliexpress.com...nt-board/32724692514.html

Ik vermoed dat die erg gevoelig zijn voor de sterke RF signalen van de cc1101.
Ok bedankt. dan ga ik voor een Wemos met schildje : https://opencircuit.nl/Pr...os-D1-mini-V3-Wifi-Module - zonder positief de webshop te willen noemen :)
Zeker met de ESP Easy plugin zou het denk ik 'easy' moeten werken hoop ik. Voordeel volgens mij van de Wemos is dat deze via USB te programmeren valt en geen Serial interface nodig is.

He who laughs last thinks slowest! | MartinvdM.nl | 3000Wp Zonnepanelen


  • jodur
  • Registratie: mei 2007
  • Laatst online: 20-02 21:12
quote:
martinvdm schreef op vrijdag 12 januari 2018 @ 22:48:
Ok bedankt. dan ga ik voor een Wemos met schildje : https://opencircuit.nl/Pr...os-D1-mini-V3-Wifi-Module - zonder positief de webshop te willen noemen :)
Zeker met de ESP Easy plugin zou het denk ik 'easy' moeten werken hoop ik. Voordeel volgens mij van de Wemos is dat deze via USB te programmeren valt en geen Serial interface nodig is.
Ik zou de wemos gewoon kopen van de officiele store : https://nl.aliexpress.com/store/1331105 waar de site wemos.cc ook naar verwijst. Heb daar ook mijn Wemos D1 mini's gekocht en de plugin voor ESP Easy op ontwikkeld.

  • jvdmast
  • Registratie: november 2002
  • Laatst online: 20-02 19:25
quote:
stverschoof schreef op vrijdag 12 januari 2018 @ 22:30:
Kan jij verklaren wat ik hier zie?
Wat ik zie is vooral gewoon een hoop willekeurige "garbage".
Het lijkt erop dat er vanalles binnenkomt wat verder weinig met itho te maken heeft, want het is vooral telkens weer wat anders. Komt dit in een soort constante stroom binnen, of slechts af-en-toe iets, en komt er ook zoiets binnen als je op je eigen remote drukt?
Het zegt mij eerlijk gezegd niets, behalve willekeurige onzin.
quote:
stverschoof schreef op vrijdag 12 januari 2018 @ 22:30:
Voorheen (de vorige versie van je code op github) heeft het altijd gewerkt qua verzenden van commando's, maar ook dat krijg ik nu niet aan de gang (wellicht omdat ik mijn eigen remote ID niet eens zie).
Als ik het niet meer kunnen verzenden combineer met niets anders ontvangen dan rommel, zou ik willen voorstellen om eerst nog even terug te gaan naar de vorige versie om te kijken of het een software of ander probleem is.
Qua verzenden is er tussen de oude en nieuwe versie 1 structureel verschil, message1 is verwijderd. "We" hadden geconcludeerd dat alleen message2 relevant is, maar wellicht ben jij de gelukkige eigenaar van een set die wel message1 nodig heeft. Dat verklaart dan ten eerste dat je nu niet meer kan verzenden(geen message1 meer), en ten tweede dat je niets ontvangt (want jij zendt een message1 die we niet ontvangen).

  • jvdmast
  • Registratie: november 2002
  • Laatst online: 20-02 19:25
quote:
jodur schreef op zaterdag 13 januari 2018 @ 09:40:
[...]


Ik zou de wemos gewoon kopen van de officiele store : https://nl.aliexpress.com/store/1331105 waar de site wemos.cc ook naar verwijst. Heb daar ook mijn Wemos D1 mini's gekocht en de plugin voor ESP Easy op ontwikkeld.
En ik zou zelfs voor een nodeMCU gaan, omdat ik helemaal niet zeker ben of het met de wemos inderdaad aan dat schild ligt (wellicht is er een ander issue waar sommige mensen last van hebben). Maarja, "wij van WC-eend", ik heb geen ervaring met wemos en wel met nodemcu.
quote:
martinvdm schreef op vrijdag 12 januari 2018 @ 21:42:
1. C1101 solderen aan NodeMcu/Wemos
Als je wilt gaan solderen, kan je ook voor een kleine esp8266 (esp12f ofzo) gaan. Die zijn veel compacter en meer geschikt om ook die kant te solderen. Enige dingetje is dat je er dan ook een serial converter aan moet hangen (en die kosten ook nite veel bij aliexpress ;) )

  • stverschoof
  • Registratie: december 2009
  • Laatst online: 16:16
quote:
jvdmast schreef op zaterdag 13 januari 2018 @ 10:15:
[...]

Wat ik zie is vooral gewoon een hoop willekeurige "garbage".
Het lijkt erop dat er vanalles binnenkomt wat verder weinig met itho te maken heeft, want het is vooral telkens weer wat anders. Komt dit in een soort constante stroom binnen, of slechts af-en-toe iets, en komt er ook zoiets binnen als je op je eigen remote drukt?
Het zegt mij eerlijk gezegd niets, behalve willekeurige onzin.


[...]

Als ik het niet meer kunnen verzenden combineer met niets anders ontvangen dan rommel, zou ik willen voorstellen om eerst nog even terug te gaan naar de vorige versie om te kijken of het een software of ander probleem is.
Qua verzenden is er tussen de oude en nieuwe versie 1 structureel verschil, message1 is verwijderd. "We" hadden geconcludeerd dat alleen message2 relevant is, maar wellicht ben jij de gelukkige eigenaar van een set die wel message1 nodig heeft. Dat verklaart dan ten eerste dat je nu niet meer kan verzenden(geen message1 meer), en ten tweede dat je niets ontvangt (want jij zendt een message1 die we niet ontvangen).
Bedankt voor de aanwijzingen, ik ga er mee aan de slag. Het is inderdaad een constante stroom, maar af en toe zie ik wel eens dezelfde id's voorbij komen (enkel niet wanneer ik mijn afstandsbediening gebruik). Ik woon in een rijtje huurhuizen die allemaal zo'n itho ventilatie eenheid hebben hangen dus het verbaasde mij niet dat ik meerdere id's te zien kreeg, enkel komen ze wel vrij regelmatig binnen.

  • Templar
  • Registratie: september 2000
  • Laatst online: 18-02 21:50
quote:
demanditho schreef op vrijdag 12 januari 2018 @ 17:15:
Het is nog niet gelukt om zelf commando's te versturen (en die dan ook effect hebben). Ik zie dat de commando code ook verwerkt wordt in het uitgaande command. Heeft er iemand een tips over hoe die aanpassingen te maken?
[...]
Wat ik tot nu toe heb gezien bij de 536-0146 remote is dat de command codes voor het joinen al anders zijn (zie command-id 40). Zie hier de reeds bekende command codes zoals vermeld in IthoCC1101.h. Daar moet jouw specifieke codes i.i.g. bijgezet worden.
C++:
1
2
3
4
5
6
7
8
9
10
11
//message 2 commands
const uint8_t ithoMessage2PowerCommandBytes[] = {6,89,150,170,165,101,90,150,85,149,101,90,102,85,150};
const uint8_t ithoMessage2HighCommandBytes[] = {6,89,150,170,165,101,90,150,85,149,101,89,102,85,150};
const uint8_t ithoMessage2MediumCommandBytes[] = {6,89,150,170,165,101,90,150,85,149,101,90,150,85,150};
const uint8_t ithoMessage2LowCommandBytes[] = {6,89,150,170,165,101,90,150,85,149,101,89,150,85,150};
const uint8_t ithoMessage2StandByCommandBytes[] = {6,89,150,170,165,101,90,150,85,149,101,90,86,85,150};
const uint8_t ithoMessage2Timer1CommandBytes[] = {6,89,150,170,169,101,90,150,85,149,101,89,86,85,153};     //10 minutes full speed
const uint8_t ithoMessage2Timer2CommandBytes[] = {6,89,150,170,169,101,90,150,85,149,101,89,86,149,150};    //20 minutes full speed
const uint8_t ithoMessage2Timer3CommandBytes[] = {6,89,150,170,169,101,90,150,85,149,101,89,86,149,154};    //30 minutes full speed
const uint8_t ithoMessage2JoinCommandBytes[] = {9,90,170,90,165,165,89,106,85,149,102,89,150,170,165};
const uint8_t ithoMessage2LeaveCommandBytes[] = {9,90,170,90,165,165,89,166,85,149,105,90,170,90,165};

Betreffende de Itho command codes database:

Iemand heeft command codes voor Message 2 toegevoegd voor de 536-0146 remote. Alleen waren ze weggezet onder het tabblad Message 1. (De cijferreeks komt namelijk erg overeen met die van de andere Message 2 codes) Ik heb ze overgezet naar tabblad Message 2 maar zoals jullie kunnen zien missen we de helft van de codes. Kan degene deze aanvullen (en evt Message 1 invullen)?

Overzicht Itho command codes RFT zenders

Templar wijzigde deze reactie 13-01-2018 12:08 (67%)


  • Ierlandfan
  • Registratie: augustus 2002
  • Laatst online: 21-02 17:41

code:
1
2
3
4
5
6
7
8
RFT Current Pos: 1, Good Pos: 2
Stored 3 commands: 0 0 35 / Stored 3 RSSI's:     122 119 124 / Stored 3 ID checks: 0 0 0 / Last ID: 6a-99-66-5a-a6-69-6a-6a
Message2 = fe-0-b3-2a-ab-2a-95-9a-6a-99-66-5a-a6-69-6a-6a-95-a5-a6-59-96-aa-a9-65-5a-96-69-a9-65-69-56-55-a5-6a-aa-aa-ac-aa-aa-aa-aa-b0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0
 / Command = low
RFT Current Pos: 2, Good Pos: 255
Stored 3 commands: 0 0 0 / Stored 3 RSSI's:     122 119 113 / Stored 3 ID checks: 0 0 0 / Last ID: 6a-99-66-5a-a6-69-6a-6a
Message2 = fe-0-b3-2a-ab-2a-95-9a-6a-99-66-5a-a6-69-6a-6a-95-a5-a6-59-96-aa-a9-65-5a-96-69-a9-65-69-56-55-a5-6a-aa-aa-ac-aa-aa-aa-aa-b0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0
 / Command =

Hoe vogel ik hier het command ID uit? Of moet het eerst omgezet worden naar decimaal?

  • jvdmast
  • Registratie: november 2002
  • Laatst online: 20-02 19:25
quote:
stverschoof schreef op zaterdag 13 januari 2018 @ 10:45:
[...]


Bedankt voor de aanwijzingen, ik ga er mee aan de slag. Het is inderdaad een constante stroom, maar af en toe zie ik wel eens dezelfde id's voorbij komen (enkel niet wanneer ik mijn afstandsbediening gebruik). Ik woon in een rijtje huurhuizen die allemaal zo'n itho ventilatie eenheid hebben hangen dus het verbaasde mij niet dat ik meerdere id's te zien kreeg, enkel komen ze wel vrij regelmatig binnen.
Ik draai nu ook even zonder de checks en zie ook met enige regelmaat allemaal willekeurige dingen voorbijkomen. Geen idee wat voor apparaten dat zouden zijn (of wellicht is het gewoon een quirck in hoe de boel nu in elkaar zit).
quote:
Ierlandfan schreef op zaterdag 13 januari 2018 @ 12:42:
code:
1
2
3
4
5
6
7
8
RFT Current Pos: 1, Good Pos: 2
Stored 3 commands: 0 0 35 / Stored 3 RSSI's:     122 119 124 / Stored 3 ID checks: 0 0 0 / Last ID: 6a-99-66-5a-a6-69-6a-6a
Message2 = fe-0-b3-2a-ab-2a-95-9a-6a-99-66-5a-a6-69-6a-6a-95-a5-a6-59-96-aa-a9-65-5a-96-69-a9-65-69-56-55-a5-6a-aa-aa-ac-aa-aa-aa-aa-b0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0
 / Command = low
RFT Current Pos: 2, Good Pos: 255
Stored 3 commands: 0 0 0 / Stored 3 RSSI's:     122 119 113 / Stored 3 ID checks: 0 0 0 / Last ID: 6a-99-66-5a-a6-69-6a-6a
Message2 = fe-0-b3-2a-ab-2a-95-9a-6a-99-66-5a-a6-69-6a-6a-95-a5-a6-59-96-aa-a9-65-5a-96-69-a9-65-69-56-55-a5-6a-aa-aa-ac-aa-aa-aa-aa-b0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0
 / Command =

Hoe vogel ik hier het command ID uit? Of moet het eerst omgezet worden naar decimaal?
Oja, ik laat het in HEX weergeven en we werken in de code met decimale cijfers, dus die verwarring moet ik er nog eens uithalen. :)
Last ID is dus... Rapapaaa... Je ID (in HEX nog).

jvdmast wijzigde deze reactie 13-01-2018 13:04 (43%)


  • jodur
  • Registratie: mei 2007
  • Laatst online: 20-02 21:12
quote:
balk schreef op donderdag 11 januari 2018 @ 23:23:
hij werkt! _/-\o_ Ik ga nog proberen toe te voegen dat het status topic ook de bron van de setting teruggeeft (dus aa-11-11-11 etc, of espeasycommand oid.
Ik heb een idee hoe dit netjes te implementeren is:

Ik maak een variable aan: LastIDindex

Waarbij deze variable de volgende waardes kan hebben:

0=> laatste commando is verstuurd door ESP_EASY (via de C1101 natuurlijk)
1=> laatste commando is verstuurd door device met ID1 (zoals ingesteld bij device settings)
2=> laatste commando is verstuurd door device met ID2 (zoals ingesteld bij device settings)
3=> laatste commando is verstuurd door device met ID3 (zoals ingesteld bij device settings)

Hiermee kan je in je bovenliggend systeem (Home assitant, OpenHab.Domoticz etc..) altijd weergeven vanaf welke plaats de ventilator als laatste is bediend.

  • stverschoof
  • Registratie: december 2009
  • Laatst online: 16:16
quote:
jvdmast schreef op zaterdag 13 januari 2018 @ 12:56:
[...]

Ik draai nu ook even zonder de checks en zie ook met enige regelmaat allemaal willekeurige dingen voorbijkomen. Geen idee wat voor apparaten dat zouden zijn (of wellicht is het gewoon een quirck in hoe de boel nu in elkaar zit).


[...]
Helaas heeft terug gaan naar vorige versie ook niet helemaal gewerkt. Daar kreeg ik al geen informatie van andere remotes binnen, maar kon ik wel mee aansturen. Mijn ECO - Fan 2 reageert nu enkel nog op Full Speed via de code, wil niet meer naar Low Speed behalve via de afstandsbediening. Nog wat uitzoekwerk voor de boeg.

  • Templar
  • Registratie: september 2000
  • Laatst online: 18-02 21:50
quote:
Ierlandfan schreef op zaterdag 13 januari 2018 @ 12:42:
code:
1
2
3
4
5
6
7
8
RFT Current Pos: 1, Good Pos: 2
Stored 3 commands: 0 0 35 / Stored 3 RSSI's:     122 119 124 / Stored 3 ID checks: 0 0 0 / Last ID: 6a-99-66-5a-a6-69-6a-6a
Message2 = fe-0-b3-2a-ab-2a-95-9a-6a-99-66-5a-a6-69-6a-6a-95-a5-a6-59-96-aa-a9-65-5a-96-69-a9-65-69-56-55-a5-6a-aa-aa-ac-aa-aa-aa-aa-b0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0
 / Command = low
RFT Current Pos: 2, Good Pos: 255
Stored 3 commands: 0 0 0 / Stored 3 RSSI's:     122 119 113 / Stored 3 ID checks: 0 0 0 / Last ID: 6a-99-66-5a-a6-69-6a-6a
Message2 = fe-0-b3-2a-ab-2a-95-9a-6a-99-66-5a-a6-69-6a-6a-95-a5-a6-59-96-aa-a9-65-5a-96-69-a9-65-69-56-55-a5-6a-aa-aa-ac-aa-aa-aa-aa-b0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0
 / Command =

Hoe vogel ik hier het command ID uit? Of moet het eerst omgezet worden naar decimaal?
Ehh, ik ken die code niet, zijn dat device-ID's of command-ID's? :/
Ik weet dat de software die ik jou in mei 2017 had gestuurd dit goed kon weergeven.

Templar wijzigde deze reactie 13-01-2018 13:43 (7%)


  • jvdmast
  • Registratie: november 2002
  • Laatst online: 20-02 19:25
quote:
Templar schreef op zaterdag 13 januari 2018 @ 13:39:
[...]


Ehh, ik ken die code niet, zijn dat device-ID's of command-ID's? :/
Ik weet dat de software die ik jou in mei 2017 had gestuurd dit goed kon weergeven.
Dat zijn de Device ID's.
Om de command-IDs te achterhalen moet je in de lange message2.data zijn, maar in last ID is het device ID weergegeven. Dat device ID is handig als je wilt filteren op alleen jouw device, vandaar dat ik die laat weergeven. (let op: weergegeven in HEX ipv DEC)

jvdmast wijzigde deze reactie 13-01-2018 13:43 (3%)


  • jodur
  • Registratie: mei 2007
  • Laatst online: 20-02 21:12
quote:
jvdmast schreef op zaterdag 13 januari 2018 @ 12:56:
Oja, ik laat het in HEX weergeven en we werken in de code met decimale cijfers, dus die verwarring moet ik er nog eens uithalen. :)
@jvdmast ik ben er voorstander van om de ID in HEX formaat weer te geven omdat dit in de IT het meest gebruikelijke is. Dit gebeurd ook b.v. ook voor mac-id's etc. Ook zijn in HEX weergaves gemakkelijker Bitpatronen te herkennen. ik zou dan ook de ID in de code omzetten naar hex-ID's

  • Templar
  • Registratie: september 2000
  • Laatst online: 18-02 21:50
quote:
Ierlandfan schreef op zaterdag 13 januari 2018 @ 12:42:
code:
1
2
3
4
5
6
7
8
RFT Current Pos: 1, Good Pos: 2
Stored 3 commands: 0 0 35 / Stored 3 RSSI's:     122 119 124 / Stored 3 ID checks: 0 0 0 / Last ID: 6a-99-66-5a-a6-69-6a-6a
Message2 = fe-0-b3-2a-ab-2a-95-9a-6a-99-66-5a-a6-69-6a-6a-95-a5-a6-59-96-aa-a9-65-5a-96-69-a9-65-69-56-55-a5-6a-aa-aa-ac-aa-aa-aa-aa-b0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0
 / Command = low
RFT Current Pos: 2, Good Pos: 255
Stored 3 commands: 0 0 0 / Stored 3 RSSI's:     122 119 113 / Stored 3 ID checks: 0 0 0 / Last ID: 6a-99-66-5a-a6-69-6a-6a
Message2 = fe-0-b3-2a-ab-2a-95-9a-6a-99-66-5a-a6-69-6a-6a-95-a5-a6-59-96-aa-a9-65-5a-96-69-a9-65-69-56-55-a5-6a-aa-aa-ac-aa-aa-aa-aa-b0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0
 / Command =

Hoe vogel ik hier het command ID uit? Of moet het eerst omgezet worden naar decimaal?
Dit is jouw command=low in DEC, ik neem aan van de remote 536-0150?
Ierlandfan: command codes zitten in bytes 18 t/m 32. De bits in Byte 18 is deels counter en deels command code.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Byte    HEX DEC
0   fe  254
1   0   0
2   b3  179
3   2a  42
4   ab  171
5   2a  42
6   95  149
7   9a  154
8   6a  106
9   99  153
10  66  102
11  5a  90
12  a6  166
13  69  105
14  6a  106
15  6a  106
16  95  149
17  a5  165
18  a6  166
19  59  89
20  96  150
21  aa  170
22  a9  169
23  65  101
24  5a  90
25  96  150
26  69  105
27  a9  169
28  65  101
29  69  105
30  56  86
31  55  85
32  a5  165
33  6a  106
34  aa  170
35  aa  170
36  ac  172
37  aa  170
38  aa  170
39  aa  170
40  aa  170
41  b0  176


  • jvdmast
  • Registratie: november 2002
  • Laatst online: 20-02 19:25
quote:
jodur schreef op zaterdag 13 januari 2018 @ 13:46:
[...]


@jvdmast ik ben er voorstander van om de ID in HEX formaat weer te geven omdat dit in de IT het meest gebruikelijke is. Dit gebeurd ook b.v. ook voor mac-id's etc. Ook zijn in HEX weergaves gemakkelijker Bitpatronen te herkennen. ik zou dan ook de ID in de code omzetten naar hex-ID's
Voor de leesbaarheid had ik idd gekozen voor hex, maar omdat we overal de IDs als dec bijhouden...
Ik maak de output wel optioneel dec: standaard gewoon hex tenzij je zelf met een optionele boolean 'true' voor dec kiest. :)

Dus ik zet in de IthoCC1101.cpp:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
String IthoCC1101::getLastIDstr(bool ashex) {
    String str;
    for (uint8_t i=0; i<8;i++) {
        if (ashex) str += String(inIthoPacket.deviceId2[i], HEX);
        else str += String(inIthoPacket.deviceId2[i]);
        if (i<7) str += ":";
    }
    return str;
}

String IthoCC1101::getLastMessage2str(bool ashex) {
    String str = "Length="+ String(inMessage2.length) + ".";
    for (uint8_t i=0; i<inMessage2.length;i++) {
        if (ashex) str += String(inMessage2.data[i], HEX);
        else str += String(inMessage2.data[i]);
        if (i<inMessage2.length-1) str += ":";
    }
    return str;
}

En in de .h file onder public:
C++:
1
2
        String getLastIDstr(bool ashex=true);
        String getLastMessage2str(bool ashex=true);

Dus roep je de getLastIDstr() of getLastMessage2str() standaard aan dan blijft het hex, maar zet je er een (false) in dan wordt het decimaal. :z

jvdmast wijzigde deze reactie 13-01-2018 15:59 (42%)
Reden: code toegevoegd


  • demanditho
  • Registratie: januari 2018
  • Laatst online: 10-02 19:48
Ik had ze erin gezet, en zal ze aanvullen

Welke constantes moet ik in "enum IthoCommand" gebruiken?
quote:
Templar schreef op zaterdag 13 januari 2018 @ 11:28:
[...]


Wat ik tot nu toe heb gezien bij de 536-0146 remote is dat de command codes voor het joinen al anders zijn (zie command-id 40). Zie hier de reeds bekende command codes zoals vermeld in IthoCC1101.h. Daar moet jouw specifieke codes i.i.g. bijgezet worden.
C++:
1
2
3
4
5
6
7
8
9
10
11
//message 2 commands
const uint8_t ithoMessage2PowerCommandBytes[] = {6,89,150,170,165,101,90,150,85,149,101,90,102,85,150};
const uint8_t ithoMessage2HighCommandBytes[] = {6,89,150,170,165,101,90,150,85,149,101,89,102,85,150};
const uint8_t ithoMessage2MediumCommandBytes[] = {6,89,150,170,165,101,90,150,85,149,101,90,150,85,150};
const uint8_t ithoMessage2LowCommandBytes[] = {6,89,150,170,165,101,90,150,85,149,101,89,150,85,150};
const uint8_t ithoMessage2StandByCommandBytes[] = {6,89,150,170,165,101,90,150,85,149,101,90,86,85,150};
const uint8_t ithoMessage2Timer1CommandBytes[] = {6,89,150,170,169,101,90,150,85,149,101,89,86,85,153};     //10 minutes full speed
const uint8_t ithoMessage2Timer2CommandBytes[] = {6,89,150,170,169,101,90,150,85,149,101,89,86,149,150};    //20 minutes full speed
const uint8_t ithoMessage2Timer3CommandBytes[] = {6,89,150,170,169,101,90,150,85,149,101,89,86,149,154};    //30 minutes full speed
const uint8_t ithoMessage2JoinCommandBytes[] = {9,90,170,90,165,165,89,106,85,149,102,89,150,170,165};
const uint8_t ithoMessage2LeaveCommandBytes[] = {9,90,170,90,165,165,89,166,85,149,105,90,170,90,165};

Betreffende de Itho command codes database:

Iemand heeft command codes voor Message 2 toegevoegd voor de 536-0146 remote. Alleen waren ze weggezet onder het tabblad Message 1. (De cijferreeks komt namelijk erg overeen met die van de andere Message 2 codes) Ik heb ze overgezet naar tabblad Message 2 maar zoals jullie kunnen zien missen we de helft van de codes. Kan degene deze aanvullen (en evt Message 1 invullen)?

Overzicht Itho command codes RFT zenders

  • Templar
  • Registratie: september 2000
  • Laatst online: 18-02 21:50
quote:
demanditho schreef op zaterdag 13 januari 2018 @ 16:16:
Ik had ze erin gezet, en zal ze aanvullen
Vergeet niet eerst tabblad "Message 2" te selecteren.
quote:
demanditho schreef op zaterdag 13 januari 2018 @ 16:16:

Welke constantes moet ik in "enum IthoCommand" gebruiken?
Om dat te kunnen bepalen moeten we eerst alle Message (2) ID's van de remotes (dus ook de counter bytes) achterhalen om terug te rekenen wat die enum waarden zijn.

Templar wijzigde deze reactie 13-01-2018 16:29 (24%)


  • demanditho
  • Registratie: januari 2018
  • Laatst online: 10-02 19:48
Ja, ik ontvang wel commando's en ook de ID string lijkt op dezelfde positie te zitten. Ik zie heel erg veel data langs komen, enkele berichten per seconde. Ik zit in een nieuwbouwwijk, waar iedereen een itho wamtepomp en ventilatie unit heeft. De controle unit communiceerd ook draadloos met de ventilatiekast. De warmtepompen zitten in een mesh-netwerk en sturen data terug naar itho. Het lijkt erop dat dat ook allemaal op dezelfde manier gebeurd.

Ik zal wat code inbouwen om de complete data-packets te loggen.
quote:
jvdmast schreef op vrijdag 12 januari 2018 @ 21:04:

[...]

Ik snap je dilemma. Maar zonder een join zal het sowieso nooit werken. Kan je met de library wel de commando's ontvangen van jouw remote, daarvoor is geen join nodig? (oftewel is het op dat vlak wel compatible)

  • Templar
  • Registratie: september 2000
  • Laatst online: 18-02 21:50
quote:
demanditho schreef op zaterdag 13 januari 2018 @ 16:26:
Ik zit in een nieuwbouwwijk, waar iedereen een itho wamtepomp en ventilatie unit heeft. De controle unit communiceerd ook draadloos met de ventilatiekast. De warmtepompen zitten in een mesh-netwerk en sturen data terug naar itho. Het lijkt erop dat dat ook allemaal op dezelfde manier gebeurd.
A treasure trove of information. :)

  • jvdmast
  • Registratie: november 2002
  • Laatst online: 20-02 19:25
quote:
demanditho schreef op zaterdag 13 januari 2018 @ 16:26:
Ik zie heel erg veel data langs komen, enkele berichten per seconde. Ik zit in een nieuwbouwwijk, waar iedereen een itho wamtepomp en ventilatie unit heeft. De controle unit communiceerd ook draadloos met de ventilatiekast. De warmtepompen zitten in een mesh-netwerk en sturen data terug naar itho. Het lijkt erop dat dat ook allemaal op dezelfde manier gebeurd.
:9~
Stel dat je dat kan decoderen en vervolgens ook nog "iets" ermee kan doen... _/-\o_

  • jodur
  • Registratie: mei 2007
  • Laatst online: 20-02 21:12
Heb in de ESP_EASY plugin de variabele LastIDindex geimplementeerd: :)F https://github.com/jodur/ESPEASY_Plugin_ITHO/tree/LastIdIndex

LET OP is een andere branch, je kan ook nog het orgineel pakken!

MQTT topic: /ESP_Easy/<task name>/LastIDindex

Payload values:

0=> laatste commando is verstuurd door ESP_EASY (via de C1101 natuurlijk)
1=> laatste commando is verstuurd door device met ID1 (zoals ingesteld bij device settings)
2=> laatste commando is verstuurd door device met ID2 (zoals ingesteld bij device settings)
3=> laatste commando is verstuurd door device met ID3 (zoals ingesteld bij device settings)


Komt dan een extra sensor bij (zie voorgaande post)

Homeassistant config voorbeeld:
code:
1
2
3
4
5
6
7
8
- platform: mqtt
    name : Laatste bediening
    state_topic: "/ESP_Easy/Fan/LastIDindex"
    value_template: >
      {% if value|float==0 %}Hass{% endif %}
      {% if value|float==1 %}Badkamer{% endif %}
      {% if value|float==2 %}Keuken{% endif %}
      {% if value|float==3 %}WC{% endif %}


  • Pascal Saul
  • Registratie: augustus 2001
  • Laatst online: 21-02 21:17
quote:
jodur schreef op zaterdag 13 januari 2018 @ 17:47:
Heb in de ESP_EASY plugin de variabele LastIDindex geimplementeerd: :)F https://github.com/jodur/ESPEASY_Plugin_ITHO/tree/LastIdIndex

LET OP is een andere branch, je kan ook nog het orgineel pakken!

MQTT topic: /ESP_Easy/<task name>/LastIDindex

Payload values:

0=> laatste commando is verstuurd door ESP_EASY (via de C1101 natuurlijk)
1=> laatste commando is verstuurd door device met ID1 (zoals ingesteld bij device settings)
2=> laatste commando is verstuurd door device met ID2 (zoals ingesteld bij device settings)
3=> laatste commando is verstuurd door device met ID3 (zoals ingesteld bij device settings)


Komt dan een extra sensor bij (zie voorgaande post)

Homeassistant config voorbeeld:
code:
1
2
3
4
5
6
7
8
- platform: mqtt
    name : Laatste bediening
    state_topic: "/ESP_Easy/Fan/LastIDindex"
    value_template: >
      {% if value|float==0 %}Hass{% endif %}
      {% if value|float==1 %}Badkamer{% endif %}
      {% if value|float==2 %}Keuken{% endif %}
      {% if value|float==3 %}WC{% endif %}

Ligt het aan mij of is het heel lastig met die interrupt pin de ID's van de Remote te pakken te krijgen...

Ik krijg nauwelijks iets in beeld als ik op een knop ram van een van mijn remote's. Zelfs met de loglevel 4 niet.

Ik gebruik een NodeMCU v3 en D1 als interrupt pin bij de sensor.

Oogst tot nu toe:
42-18-8-3-90-0-40-42
1-47-23-81-0-0-60-0
0-0-41-0-60-68-0-4
0-4-14-26-b0-a0-10-a0
12-81-88-24-40-a-c1-66
f0-7d-c0-b1-a8-6d-ac-d

Of is er hier wat anders aan de hand met de interrupt pin of is het hier in de buurt dat deze teveel in een keer ontvangt??? De rest werkt wel prima.

Als in de webpagina op submit druk, zie ik daarna direct het volgende op het console (maar geen ID):
Extra Settings PLUGIN_145 loaded
RF signal received
CC1101 868Mhz transmitter initialized
RF signal received

Pascal Saul wijzigde deze reactie 13-01-2018 18:33 (7%)


  • jodur
  • Registratie: mei 2007
  • Laatst online: 20-02 21:12
quote:
Pascal Saul schreef op zaterdag 13 januari 2018 @ 18:05:
[...]
Als in de webpagina op submit druk, zie ik daarna direct het volgende op het console (maar geen ID):
Extra Settings PLUGIN_145 loaded
RF signal received
CC1101 868Mhz transmitter initialized
RF signal received
Als je alleen de melding "RF received" in de log voorbij ziet komen (interrupt pin wordt hoog) en vervolgens geen ID meldingen ziet, heb je waarschijnlijk een onvolledig "packet" ontvangen. (Geen 42 bytes in totaal)

Wil je hier verder induiken wat het probleem is, zul je toch over wat programmeerskils moeten beschikken.

Ik zou b.v. dan weer starten met de allereerste code van jvd mast, om te zien of je remote dan wel reageert (vermoed dan waarschijnlijk ook niet).

Wat voor een RF remote heb je?

  • demanditho
  • Registratie: januari 2018
  • Laatst online: 10-02 19:48
Moet ik byte 18 t/m 33 uit message2 vissen? Het uitgaande bericht lijkt 8 byte extra aan de voorkant te hebben.

Ik maak uit de code op dat pakketten die niet precies 42 byte zijn worden genegeerd. Klopt dat?
quote:
jvdmast schreef op zaterdag 13 januari 2018 @ 16:36:
[...]

:9~
Stel dat je dat kan decoderen en vervolgens ook nog "iets" ermee kan doen... _/-\o_

  • demanditho
  • Registratie: januari 2018
  • Laatst online: 10-02 19:48
Ik bedoel 18 t/m 32...
quote:
demanditho schreef op zaterdag 13 januari 2018 @ 22:14:
Moet ik byte 18 t/m 33 uit message2 vissen? Het uitgaande bericht lijkt 8 byte extra aan de voorkant te hebben.

Ik maak uit de code op dat pakketten die niet precies 42 byte zijn worden genegeerd. Klopt dat?


[...]

  • balk
  • Registratie: januari 2000
  • Laatst online: 13:26
quote:
jodur schreef op zaterdag 13 januari 2018 @ 17:47:
Heb in de ESP_EASY plugin de variabele LastIDindex geimplementeerd: :)F https://github.com/jodur/ESPEASY_Plugin_ITHO/tree/LastIdIndex

LET OP is een andere branch, je kan ook nog het orgineel pakken!

MQTT topic: /ESP_Easy/<task name>/LastIDindex

Payload values:

0=> laatste commando is verstuurd door ESP_EASY (via de C1101 natuurlijk)
1=> laatste commando is verstuurd door device met ID1 (zoals ingesteld bij device settings)
2=> laatste commando is verstuurd door device met ID2 (zoals ingesteld bij device settings)
3=> laatste commando is verstuurd door device met ID3 (zoals ingesteld bij device settings)


Komt dan een extra sensor bij (zie voorgaande post)

Homeassistant config voorbeeld:
YAML:
1
2
3
4
5
6
7
8
- platform: mqtt
    name : Laatste bediening
    state_topic: "/ESP_Easy/Fan/LastIDindex"
    value_template: >
      {% if value|float==0 %}Hass{% endif %}
      {% if value|float==1 %}Badkamer{% endif %}
      {% if value|float==2 %}Keuken{% endif %}
      {% if value|float==3 %}WC{% endif %}

Hiep Hoi! Ook dit werkt :) Ik moest wel een factory reset doen, want de eerste keer werden de remotes niet gepakt. Ik heb meteen maar een automation gemaakt die wanneer iemand op een fysieke knop drukt, de in HASS ingestelde ITHO control (badkamer hoge vochtigheid bijvoorbeeld) overruled voor 10 minuten.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
- id: itho_4
  alias: Remote control is used
  trigger:
    - platform: state
      entity_id: sensor.itho_lastidindex
      to: "1"
    - platform: state
      entity_id: sensor.itho_lastidindex
      to: "2"
    - platform: state
      entity_id: sensor.itho_lastidindex
      to: "3"
  action:
    service: input_boolean.turn_on
    entity_id: input_boolean.itho_remote_override
- id: itho_5
  alias: Reset ITHO remote control override
  trigger:
    platform: state
    entity_id: input_boolean.itho_remote_override
    to: "on"
    for:
      minutes: "10"
  action:
    service: input_boolean.turn_off
    entity_id: input_boolean.itho_remote_override

En dan in alle fan control automations het volgende:
code:
1
2
3
4
condition:
    - condition: state
      entity_id: input_boolean.itho_remote_override
      state: 'off'


  • demanditho
  • Registratie: januari 2018
  • Laatst online: 10-02 19:48
Bij de 0150 remote worden de knoppen low, high, auto en leave herkend als low, high, medium en leave. De hogere bytes zijn wel verschillend.

Bij ieder commando zitten er kleine verschillen in het eerste byte. Daar zal dus wel iets van de counter ingestopt zijn.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// message 2 commands 536-0146 remote                                                                                                                                                                       
const uint8_t ithoMessage2_5360146_EcoCommandBytes[] = {102,89,150,170,149,165,90,150,85,149,101,90,86,85,153};
const uint8_t ithoMessage2_5360146_ComfortCommandBytes[] = {166,89,150,170,149,165,90,150,85,149,101,89,150,85,153};
const uint8_t ithoMessage2_5360146_Cook1CommandBytes[] =  {102,89,150,170,169,101,90,102,85,149,101,89,150,149,154};
const uint8_t ithoMessage2_5360146_Cook2CommandBytes[] = {102,89,150,170,169,101,90,102,85,149,101,89,150,165,150};
const uint8_t ithoMessage2_5360146_Timer1CommandBytes[] = {102,89,150,170,169,101,90,102,85,149,101,153,150,85,169};
const uint8_t ithoMessage2_5360146_Timer2CommandBytes[]= {102,89,150,170,169,101,90,102,85,149,101,153,150,85,154};
const uint8_t ithoMessage2_5360146_Timer3CommandBytes[]= {166,89,150,170,169,101,90,102,85,149,101,153,150,85,165};
const uint8_t ithoMessage2_5360146_JoinCommandBytes[] = {169, 90,170, 90,165,165, 89,106, 85,149,102, 89,150,170,149};
const uint8_t ithoMessage2_5360146_LeavCommandBytes[] = {105, 90,170, 90,165,165, 89,106, 85,149,102, 89,150,170,149};

// message 2 command 536-0150 remote                                                                                                                                                                        
const uint8_t ithoMessage2_5360150_LowCommandBytes[] =    {102,89,150,170,165,101,90,150,105,169,101,89,150,85,150};
const uint8_t ithoMessage2_5360150_HighCommandBytes[] =   {102,89,150,170,165,101,90,150,105,169,101,89,102,85,150};
const uint8_t ithoMessage2_5360150_AutoCommandBytes[] =   {102,89,150,170,165,101,90,150,105,169,101,90,150,85,150};
const uint8_t ithoMessage2_5360150_Auto2CommandBytes[] =  {102,89,150,170,149,165,90,150,105,169,101,89,150,85,169};
const uint8_t ithoMessage2_5360150_Timer1CommandBytes[] = {166,89,150,170,169,101,90,150,105,169,101,105,86,85,165};
const uint8_t ithoMessage2_5360150_Timer2CommandBytes[] = {102,89,150,170,169,101,90,150,105,169,101,105,86,85,153};
const uint8_t ithoMessage2_5360150_Timer3CommandBytes[] = {102,89,150,170,169,101,90,150,105,169,101,105,86,85,169};
const uint8_t ithoMessage2_5360150_JoinCommandBytes[] =   {105,90,170,90,165,165,89,106,105,169,102,89,150,170,149};
const uint8_t ithoMessage2_5360150_LeaveCommandBytes[] =  {169,90,170,90,165,165,89,166,105,169,105,90,170,90,165};


  • Templar
  • Registratie: september 2000
  • Laatst online: 18-02 21:50
quote:
Ja, je kan ook gemakshalve deze logs online gooien, het gaat om de vetgedrukte regel. Dus voor elke remote even alle mogelijke knoppencombinaties indrukken en de vetgedrukte regel incl vermelding van het commando groeperen en in een post quoten. Ik haal de command-ID's er wel uit.

Ik weet trouwens niet of de software ook onbekende messages weergeeft. Anders wordt het software aanpassen.
quote:
RFT Current Pos: 1, Good Pos: 2
Stored 3 commands: 0 0 35 / Stored 3 RSSI's: 122 119 124 / Stored 3 ID checks: 0 0 0 / Last ID: 6a-99-66-5a-a6-69-6a-6a
Message2 = fe-0-b3-2a-ab-2a-95-9a-6a-99-66-5a-a6-69-6a-6a-95-a5-a6-59-96-aa-a9-65-5a-96-69-a9-65-69-56-55-a5-6a-aa-aa-ac-aa-aa-aa-aa-b0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0
/ Command = low

  • demanditho
  • Registratie: januari 2018
  • Laatst online: 10-02 19:48
Kun je het code sniplet voor het printen van "Message2 = ..." even sturen? Zit niet in de github versie, en dan hebben we dat zeker helzelfde.

  • Templar
  • Registratie: september 2000
  • Laatst online: 18-02 21:50
Hmm, de code van Ierlandfan heb ik niet. Ik zou je mijn 8 maanden oude code kunnen opsturen. Kan jij mij jouw e-mail PM-en?

Wat is het verschil tussen deze twee standen?
quote:
5360150_AutoCommandBytes
5360150_Auto2CommandBytes
Ik lees er niets over in de handleiding.
http://www.ithodaalderop....andleiding20rft20auto.pdf

Templar wijzigde deze reactie 14-01-2018 00:33 (88%)


  • Templar
  • Registratie: september 2000
  • Laatst online: 18-02 21:50
quote:
Templar schreef op zaterdag 13 januari 2018 @ 16:26:
Om dat te kunnen bepalen moeten we eerst alle Message (2) ID's van de remotes (dus ook de counter bytes) achterhalen om terug te rekenen wat die enum waarden zijn.
Als de volledige message 2 bytes binnen zijn dan moeten als ik mij niet vergis in deze bestanden en op deze locaties de extra commando's en de formules vermeld worden.

IthoPacket.h
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
enum IthoCommand
{
    IthoUnknown = 0,
        
    IthoJoin = 4,
    IthoLeave = 8,
                
    IthoStandby = 34,
    IthoLow = 35,   
    IthoMedium = 36,    
    IthoHigh = 37,
    IthoFull = 38,
    
    IthoTimer1 = 41,
    IthoTimer2 = 51,
    IthoTimer3 = 61,
    
    //duco c system remote
    DucoStandby = 251,
    DucoLow = 252,
    DucoMedium = 253,
    DucoHigh = 254
};

IthoCC1101.cpp
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
uint8_t IthoCC1101::calculateMessage2Byte43(uint8_t counter, IthoCommand command)
{
    switch (command)
    {
        case IthoFull:
            counter += 3;
            if (counter % 2 == 0) counter -= 1;
            break;
            
        case IthoHigh:
            counter += 2;
            if (counter % 2 == 0) counter -= 1;
            break;
            
        case IthoUnknown:
        case IthoMedium:
            break;
                
        case IthoLow:
        case IthoTimer2:
            if (counter % 2 == 0) counter -= 1;
            break;
            
        case IthoStandby:
            counter -= 1;
            if (counter % 2 == 0) counter -= 1;
            break;          

        case IthoTimer1:
            counter += 6;
            if (counter % 2 == 0) counter -= 1;     
            break;
            
        case IthoTimer3:
            counter += 10;
            if (counter % 2 == 0) counter -= 1;     
            break;
            
        case IthoJoin:
        case IthoLeave:
            counter = 0;
            break;  

        case DucoHigh:
            counter += 10;
            if (counter % 2 != 0) counter -= 1;
            break;

        case DucoMedium:
            counter += 9;
            if (counter % 2 != 0) counter -= 1;
            break;

        case DucoLow:
            counter += 8;
            break;

        case DucoStandby:
            counter += 8;
            if (counter % 2 == 0) counter -= 1;
            break;
    }


  • Pascal Saul
  • Registratie: augustus 2001
  • Laatst online: 21-02 21:17
quote:
jodur schreef op zaterdag 13 januari 2018 @ 21:08:
[...]


Als je alleen de melding "RF received" in de log voorbij ziet komen (interrupt pin wordt hoog) en vervolgens geen ID meldingen ziet, heb je waarschijnlijk een onvolledig "packet" ontvangen. (Geen 42 bytes in totaal)

Wil je hier verder induiken wat het probleem is, zul je toch over wat programmeerskils moeten beschikken.

Ik zou b.v. dan weer starten met de allereerste code van jvd mast, om te zien of je remote dan wel reageert (vermoed dan waarschijnlijk ook niet).

Wat voor een RF remote heb je?
Net zoals iedereen geloof ik:
Itho RFT-ZENDER W (wit) = Artikelnummer: 536-0124
Itho RFT-ZENDER C (creme) = Artikelnummer: 536-0127

http://www.ithodaalderop.nl/node/3668/types

En de CVE ECO RFT box het oude type:
http://www.ithodaalderop....o-rft-niet-meer-leverbaar

De skills zijn er nog wel ergens maar het is zeker niet meer mijn dagelijkse bezigheid ;)

Niks spannends en vrij standaard en daarom begrijp ik niet zo goed waarom de interrupt niet goed werkt...

Starten de ID's van de remote altijd met een standaard reeks aan waarden en zo ja welke?

Ik heb dus wel een aantal ID's kunnen onderscheppen maar geen idee welke eventueel van de Itho is...

Pascal Saul wijzigde deze reactie 14-01-2018 10:38 (20%)


  • demanditho
  • Registratie: januari 2018
  • Laatst online: 10-02 19:48
Bij het zoeken van patronen in de brij met commando's kom ik regelmatig regels tegen die onlogisch lijken. Weet er iemand of er nog iets van controle op de pakketten zit? De C1101 ziou die in hardware bij moeten houden, maar ik ziet het nergens terug komen in de driver.

  • Templar
  • Registratie: september 2000
  • Laatst online: 18-02 21:50
quote:
demanditho schreef op maandag 15 januari 2018 @ 21:09:
Bij het zoeken van patronen in de brij met commando's kom ik regelmatig regels tegen die onlogisch lijken. Weet er iemand of er nog iets van controle op de pakketten zit? De C1101 ziou die in hardware bij moeten houden, maar ik ziet het nergens terug komen in de driver.
Heb jij al hier gekeken? Op dit Blog is door Rogier en Klusjesman de basis gelegd voor het ontrafelen van de code.
https://www.progz.nl/homeautomation/2015/05/19/reverse-engineering-remote-itho-cve-eco-rft-part-6/

  • jvdmast
  • Registratie: november 2002
  • Laatst online: 20-02 19:25
quote:
Templar schreef op maandag 15 januari 2018 @ 23:23:
[...]


Heb jij al hier gekeken? Op dit Blog is door Rogier en Klusjesman de basis gelegd voor het ontrafelen van de code.
https://www.progz.nl/homeautomation/2015/05/19/reverse-engineering-remote-itho-cve-eco-rft-part-6/
Inderdaad, al moet worden gezegd dat dat alleen een basis is want de "algoritmes" blijken niet te werken als je een ander ID gebruikt. Dus deze berekeningen kloppen op het gebruikte ID bij toeval. Waar nu een paar tellers en een +1, +2, -1 worden gehanteerd zou het maar zo kunnen zijn dat het in werkelijkheid samenvoegingen of checksums zijn, om maar wat te noemen.

  • Templar
  • Registratie: september 2000
  • Laatst online: 18-02 21:50
quote:
jvdmast schreef op dinsdag 16 januari 2018 @ 08:41:
[...]

Inderdaad, al moet worden gezegd dat dat alleen een basis is want de "algoritmes" blijken niet te werken als je een ander ID gebruikt. Dus deze berekeningen kloppen op het gebruikte ID bij toeval. Waar nu een paar tellers en een +1, +2, -1 worden gehanteerd zou het maar zo kunnen zijn dat het in werkelijkheid samenvoegingen of checksums zijn, om maar wat te noemen.
Heb jij dan al die calculate byte 43 code toegevoegd aan de software? Volgens mij had je dat iig gedaan voor de Duco ontvanger. Maar ik kan me vergissen. Enfin, ben benieuwd naar de resultaten als demanditho het lukt de message 2 bytes goed uit te uitlezen.

  • jvdmast
  • Registratie: november 2002
  • Laatst online: 20-02 19:25
quote:
Templar schreef op dinsdag 16 januari 2018 @ 13:00:
[...]


Heb jij dan al die calculate byte 43 code toegevoegd aan de software? Volgens mij had je dat iig gedaan voor de Duco ontvanger. Maar ik kan me vergissen. Enfin, ben benieuwd naar de resultaten als demanditho het lukt de message 2 bytes goed uit te uitlezen.
Dat (die counterBytesXY) zijn van die onduidelijke dingen waarvan er op z'n minst een aantal per remote zullen verschillen. En in werkelijkheid zal er een hele andere logica achter zitten dan dat er nu is geprogrammeerd.

  • Pascal Saul
  • Registratie: augustus 2001
  • Laatst online: 21-02 21:17
Ook met het receive script van @jodur krijg ik nauwelijks iets binnen :(

Heel af en toe zie ik een ID langskomen maar niet wanneer ik druk...

Kan die interrupt de gegevens niet aan ofzo? Ik had namelijk verwacht dat ding is als een malle ging printen op de console...

Of is het een hardware issue met de C1101 en NodeMCU 0.9?

  • Ierlandfan
  • Registratie: augustus 2002
  • Laatst online: 21-02 17:41
@jodur

Kun je toevallig een versie van ESPEasy compilen met daarin de message2 output? (Log_level_debug bijvoorbeeld) Ik krijg mijn development platform niet lekker up.

  • jvdmast
  • Registratie: november 2002
  • Laatst online: 20-02 19:25
quote:
Pascal Saul schreef op woensdag 17 januari 2018 @ 18:01:
Ook met het receive script van @jodur krijg ik nauwelijks iets binnen :(

Heel af en toe zie ik een ID langskomen maar niet wanneer ik druk...

Kan die interrupt de gegevens niet aan ofzo? Ik had namelijk verwacht dat ding is als een malle ging printen op de console...

Of is het een hardware issue met de C1101 en NodeMCU 0.9?
Die interrupt hoeft niets "aan te kunnen". Op het moment dat er 1 bit binnenkomt wordt die interrupt getriggered en een paar msec daarna wordt de buffer uitgelezen. Dus het enige wat de interrupt doet is een timer starten, en die timer triggert daarna alleen het uitlezen van de buffer.
Het klinkt wel een beetje als een hardware issue, bijv omdat de interrupt niet goed is aangeloten (of op een pin die dat niet goed ondersteunt maar ik meen dat een esp8266 op alle pinnen wel een interrupt kan ontvangen), of omdat de draadjes tussen de cc1101 en de esp8266 niet helemaal correct zitten.
Onthoudt dat er op dat vlak een verschil tussen de "oude" en de "nieuwe" library zit, dus controleer dat nog eens. En als je toch aan het controleren bent, wil je dan even zelf op internet de pin-out van jouw cc1101 en jouw esp8266 opzoeken en op basis daarvan jouw eigen pin-tabelletje maken? Kleine kans, maar wellicht heb ik een tikfout in het schema waardoor het bij jou niet goed werkt.
En je noemt een NodeMCU v0.9. Daarmee heb ik geen ervaring, wat zijn die verschillen tussen die en een v1.0 precies?

  • Pascal Saul
  • Registratie: augustus 2001
  • Laatst online: 21-02 21:17
quote:
jvdmast schreef op woensdag 17 januari 2018 @ 18:33:
[...]

Die interrupt hoeft niets "aan te kunnen". Op het moment dat er 1 bit binnenkomt wordt die interrupt getriggered en een paar msec daarna wordt de buffer uitgelezen. Dus het enige wat de interrupt doet is een timer starten, en die timer triggert daarna alleen het uitlezen van de buffer.
Het klinkt wel een beetje als een hardware issue, bijv omdat de interrupt niet goed is aangeloten (of op een pin die dat niet goed ondersteunt maar ik meen dat een esp8266 op alle pinnen wel een interrupt kan ontvangen), of omdat de draadjes tussen de cc1101 en de esp8266 niet helemaal correct zitten.
Onthoudt dat er op dat vlak een verschil tussen de "oude" en de "nieuwe" library zit, dus controleer dat nog eens. En als je toch aan het controleren bent, wil je dan even zelf op internet de pin-out van jouw cc1101 en jouw esp8266 opzoeken en op basis daarvan jouw eigen pin-tabelletje maken? Kleine kans, maar wellicht heb ik een tikfout in het schema waardoor het bij jou niet goed werkt.
En je noemt een NodeMCU v0.9. Daarmee heb ik geen ervaring, wat zijn die verschillen tussen die en een v1.0 precies?
Zit niet veel verschil in hoor: https://www.cnx-software....powered-by-esp8266-wisoc/

Ik heb verder de "CC1101 868MHZ M115 Wireless Module Long Distance Transmission Antenna GM"

Als volgt aangesloten:
quote:
D3 (GPIO0) = GDO2 (6)
D5 (GPIO14) = SCLK (4)
D6 (GPIO12) = SO (5)
D7 (GPIO13) = SI (3)
D8 (GPIO15) = CSN (8 )
GND (GND) = GND (2)
3V3 (3V3) = VCC (1)
Ik heb D1 t/m D3 als Interrupt geprobeerd al (https://nodemcu.readthedocs.io/en/master/en/modules/gpio/)

Zonet heb ik nog even de interrupt draad opnieuw gesoldeerd maar dat maakte weinig uit. Als de draadjes niet goed zouden zitten, had de rest ook niet gewerkt en af toen ontvang ik wel wat maar niet van mijn remotes. Althans niet in real-time want ik heb zo'n 20 verschillende ID's verzameld al.

Pascal Saul wijzigde deze reactie 17-01-2018 19:10 (8%)


  • Ierlandfan
  • Registratie: augustus 2002
  • Laatst online: 21-02 17:41
Ik denk dat als je een RFT hebt (Auto RV/CO2 meting) dat er ook iets meer gestuurd wordt dan alleen de hoog/laag/etc. Dat zouden de andere codes kunnen zijn die je (en ik ook) ontvangt.

Waarschijnlijk bedoeld voor dit apparaat:
http://www.ithodaalderop....and/monitor-rf-plus-print

  • jvdmast
  • Registratie: november 2002
  • Laatst online: 20-02 19:25
quote:
quote:
Ierlandfan schreef op woensdag 17 januari 2018 @ 19:54:
Ik denk dat als je een RFT hebt (Auto RV/CO2 meting) dat er ook iets meer gestuurd wordt dan alleen de hoog/laag/etc. Dat zouden de andere codes kunnen zijn die je (en ik ook) ontvangt.

Waarschijnlijk bedoeld voor dit apparaat:
http://www.ithodaalderop....and/monitor-rf-plus-print
Ah dat had ik even gemist, @Pascal Saul heeft dus een andere remote waarvan "we" (lees: ik) niet weten in hoeverre die anders is.

  • Ierlandfan
  • Registratie: augustus 2002
  • Laatst online: 21-02 17:41
@Pascal Saul Wat voor type remote heb je? Ik heb bijvoorbeeld bij de 150 ook gemerkt dat de knoppen wel ontvangen worden maar met verkeerde commando. (Hoog, medium, low ipv timer, RFT en timer) Het protocol lijkt backwards compatible want mijn Itho reageert wel op de "gemaakte" low, medium etc.

  • Pascal Saul
  • Registratie: augustus 2001
  • Laatst online: 21-02 21:17
quote:
jvdmast schreef op woensdag 17 januari 2018 @ 20:46:
[...]


[...]


Ah dat had ik even gemist, @Pascal Saul heeft dus een andere remote waarvan "we" (lees: ik) niet weten in hoeverre die anders is.
Ik denk dat je nu twee dingen door elkaar haalt ;)

Nee, ik heb gewoon de simpele: Itho RFT-ZENDER W (wit) = 536-0124, Itho RFT-ZENDER C (creme) = 536-0127. Deze staan ook gewoon in de Excel lijst ;) @Ierlandfan deze dus

Het aansturen werkt wel prima voor low, medium, high en timers. Alleen na de timer gaat de box niet naar low maar blijft op medium met deze code. Met die van ThinkPad ging dat wel goed.

Pascal Saul wijzigde deze reactie 17-01-2018 21:37 (17%)


  • Pascal Saul
  • Registratie: augustus 2001
  • Laatst online: 21-02 21:17
@jvdmast @jodur @Ierlandfan

Ik heb het ontvangst gedeelte kunnen fixen. Echter moet deze fix nu geïmplementeerd worden in de code. Echter is de vraag of deze voor iedereen werkt... Het begin is gemaakt door edjeed maar niet gemerged. Echter is de code in de tussentijd alweer aangepast dat een merge niet werkt. In de laatste versie van IthoCC1101.cpp:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
void IthoCC1101::initReceive()
    //Data rate         38.3835kBaud
    //RX filter BW      325.000000kHz
    Data rate           8.00896kBaud
    RX filter BW        67.708333kHz    

    //Deviation         50.781250kHz
    Deviation           25.390625kHz

    //writeRegister(CC1101_MDMCFG4 ,0x5A);
    //writeRegister(CC1101_MDMCFG3 ,0x83);
    writeRegister(CC1101_MDMCFG4 ,0xE8);
    writeRegister(CC1101_MDMCFG3 ,0x43);

    //writeRegister(CC1101_DEVIATN ,0x50);
    writeRegister(CC1101_DEVIATN ,0x40);

    //writeRegister(CC1101_FSCAL0 ,0x11);
    writeRegister(CC1101_FSCAL0 ,0x1F);

    //writeRegister(CC1101_FSCAL2 ,0x00);

void  IthoCC1101::initReceiveMessage2(IthoMessageType expectedMessageType)
    //writeRegister(CC1101_MDMCFG4 ,0x5A); // set kBaud
    writeRegister(CC1101_MDMCFG4 ,0x9A); //RX filter BW : 162.500000 Khz Datarate: 38.3835kBaud

    //writeRegister(CC1101_DEVIATN ,0x50);
    writeRegister(CC1101_DEVIATN ,0x50); //Deviation: 50.781250kHz

Resultaat:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
device-ID remote: 69-59-96-69-a9-a9-9a-56 ,Command received= low
device-ID remote: 69-59-96-69-a9-a9-9a-56 ,Command received= high
device-ID remote: 69-59-96-69-a9-a9-9a-56 ,Command received= medium
device-ID remote: 69-59-96-69-a9-a9-9a-56 ,Command received= timer1
device-ID remote: 69-59-96-69-a9-a9-9a-56 ,Command received= timer2
device-ID remote: 69-59-96-69-a9-a9-9a-56 ,Command received= timer3

device-ID remote: 6a-aa-56-a9-a5-a9-9a-56 ,Command received= low
device-ID remote: 6a-aa-56-a9-a5-a9-9a-56 ,Command received= medium
device-ID remote: 6a-aa-56-a9-a5-a9-9a-56 ,Command received= high
device-ID remote: 6a-aa-56-a9-a5-a9-9a-56 ,Command received= timer1
device-ID remote: 6a-aa-56-a9-a5-a9-9a-56 ,Command received= timer2
device-ID remote: 6a-aa-56-a9-a5-a9-9a-56 ,Command received= timer3

En nu moet alles gemerged worden in alle plugins en dergelijke... Ik kreeg de ESP plugin van @jodur niet gecompileerd hier maar dat zal wel aan mij liggen.

  • Ierlandfan
  • Registratie: augustus 2002
  • Laatst online: 21-02 17:41
Cool! En het compilen ligt dan aan ons beiden want ik krijg het ook niet voor elkaar.
Hoe krijg ik platformio zover krijg dat ie de 2.3.0 branch van ESP8226 gebruikt en niet de nieuwe (2.4.0-x) ?
Ik denk dat daar de meeste foutmeldingen door ontstaan. De stable versie van ESPEasy kan je niet gebruiken want daar heb je 2.3.0 voor nodig volgens de foutmelding (om juist problemen voor te zijn wat ik lees op het forum ) DE Development branch (met 2.4.0) levert allerlei onbekende foutmeldingen op in de libs voor de remote. (Die ik graag ook wil gebruiken :-)

  • Pascal Saul
  • Registratie: augustus 2001
  • Laatst online: 21-02 21:17
quote:
Ierlandfan schreef op donderdag 18 januari 2018 @ 12:11:
Cool! En het compilen ligt dan aan ons beiden want ik krijg het ook niet voor elkaar.
Hoe krijg ik platformio zover krijg dat ie de 2.3.0 branch van ESP8226 gebruikt en niet de nieuwe (2.4.0-x) ?
Ik denk dat daar de meeste foutmeldingen door ontstaan. De stable versie van ESPEasy kan je niet gebruiken want daar heb je 2.3.0 voor nodig volgens de foutmelding (om juist problemen voor te zijn wat ik lees op het forum ) DE Development branch (met 2.4.0) levert allerlei onbekende foutmeldingen op in de libs voor de remote. (Die ik graag ook wil gebruiken :-)
platform = espressif8266@1.5.0 ; esp8266/Arduino version 2.3.0
platform = espressif8266@1.6.0 ; esp8266/Arduino version 2.4.0

Dan gaat het compileren wel goed... al wel wat warning van de Duco en typedef enum ;)

Pascal Saul wijzigde deze reactie 18-01-2018 12:25 (5%)


  • jvdmast
  • Registratie: november 2002
  • Laatst online: 20-02 19:25
quote:
Pascal Saul schreef op donderdag 18 januari 2018 @ 11:23:
@jvdmast @jodur @Ierlandfan

Ik heb het ontvangst gedeelte kunnen fixen. Echter moet deze fix nu geïmplementeerd worden in de code. Echter is de vraag of deze voor iedereen werkt... Het begin is gemaakt door edjeed maar niet gemerged. Echter is de code in de tussentijd alweer aangepast dat een merge niet werkt. In de laatste versie van IthoCC1101.cpp:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
void IthoCC1101::initReceive()
    //Data rate         38.3835kBaud
    //RX filter BW      325.000000kHz
    Data rate           8.00896kBaud
    RX filter BW        67.708333kHz    

    //Deviation         50.781250kHz
    Deviation           25.390625kHz

    //writeRegister(CC1101_MDMCFG4 ,0x5A);
    //writeRegister(CC1101_MDMCFG3 ,0x83);
    writeRegister(CC1101_MDMCFG4 ,0xE8);
    writeRegister(CC1101_MDMCFG3 ,0x43);

    //writeRegister(CC1101_DEVIATN ,0x50);
    writeRegister(CC1101_DEVIATN ,0x40);

    //writeRegister(CC1101_FSCAL0 ,0x11);
    writeRegister(CC1101_FSCAL0 ,0x1F);

    //writeRegister(CC1101_FSCAL2 ,0x00);

void  IthoCC1101::initReceiveMessage2(IthoMessageType expectedMessageType)
    //writeRegister(CC1101_MDMCFG4 ,0x5A); // set kBaud
    writeRegister(CC1101_MDMCFG4 ,0x9A); //RX filter BW : 162.500000 Khz Datarate: 38.3835kBaud

    //writeRegister(CC1101_DEVIATN ,0x50);
    writeRegister(CC1101_DEVIATN ,0x50); //Deviation: 50.781250kHz

Resultaat:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
device-ID remote: 69-59-96-69-a9-a9-9a-56 ,Command received= low
device-ID remote: 69-59-96-69-a9-a9-9a-56 ,Command received= high
device-ID remote: 69-59-96-69-a9-a9-9a-56 ,Command received= medium
device-ID remote: 69-59-96-69-a9-a9-9a-56 ,Command received= timer1
device-ID remote: 69-59-96-69-a9-a9-9a-56 ,Command received= timer2
device-ID remote: 69-59-96-69-a9-a9-9a-56 ,Command received= timer3

device-ID remote: 6a-aa-56-a9-a5-a9-9a-56 ,Command received= low
device-ID remote: 6a-aa-56-a9-a5-a9-9a-56 ,Command received= medium
device-ID remote: 6a-aa-56-a9-a5-a9-9a-56 ,Command received= high
device-ID remote: 6a-aa-56-a9-a5-a9-9a-56 ,Command received= timer1
device-ID remote: 6a-aa-56-a9-a5-a9-9a-56 ,Command received= timer2
device-ID remote: 6a-aa-56-a9-a5-a9-9a-56 ,Command received= timer3

En nu moet alles gemerged worden in alle plugins en dergelijke... Ik kreeg de ESP plugin van @jodur niet gecompileerd hier maar dat zal wel aan mij liggen.
Kan je mij dn even, bv met een issue op github, doorgeven wat je precies veranderd wilt zien?

  • Pascal Saul
  • Registratie: augustus 2001
  • Laatst online: 21-02 21:17
Voor diegene die niet willen compileren heb ik de 2.3.0 of op basis van de 2.4.0* versie de aangepaste versie van @jodur met LastIndex.

*is zonder de IRremoteESP8266 library en P016_IR en P035_IRTX plug-ins want deze code is niet meer goed voor 2.4.0

Pascal Saul wijzigde deze reactie 18-01-2018 18:41 (41%)


  • jvdmast
  • Registratie: november 2002
  • Laatst online: 20-02 19:25
quote:
Pascal Saul schreef op donderdag 18 januari 2018 @ 13:12:
Voor diegene die niet willen compileren heb ik hier de aangepaste versie van @jodur met LastIndex.
F-Secure zegt:
Harmful web site blocked
http://www.saul.nu/downlo...LastIndex_Receive_Fix.bin
This web site has been reported as harmful.
We recommend that you do not visit this web site.

  • Pascal Saul
  • Registratie: augustus 2001
  • Laatst online: 21-02 21:17
quote:
jvdmast schreef op donderdag 18 januari 2018 @ 13:17:
[...]

F-Secure zegt:
Harmful web site blocked
https://www.saul.nu/downl...LastIndex_Receive_Fix.bin
This web site has been reported as harmful.
We recommend that you do not visit this web site.
Dat is knap... geeft F-secure nog meer informatie? Ook via HTTPS?

  • jvdmast
  • Registratie: november 2002
  • Laatst online: 20-02 19:25
quote:
Pascal Saul schreef op donderdag 18 januari 2018 @ 13:20:
[...]


Dat is knap... geeft F-secure nog meer informatie? Ook via HTTPS?
Ja dat is https, nee fSecure zegt verder niets.
Overigens zie ik een onduidelijkheid in de wijzigingen in Pull Request #1,
In de initReceive wordt CC1101_DEVIATN in het request van 0x50 naar 0x40 veranderd, en dan in de initReceiveMessage2 toch weer op 0x50 gelaten. En aangezien we alleen nog maar message2 bekijken is dat niet logisch.

  • jodur
  • Registratie: mei 2007
  • Laatst online: 20-02 21:12
quote:
Pascal Saul schreef op donderdag 18 januari 2018 @ 13:12:
Voor diegene die niet willen compileren heb ik hier de aangepaste versie van @jodur met LastIndex.
Gaarne de aanpassingen via github indienen via een merge request, zodat ik deze kan opnemen in het orgineel of in een seperate branche.

jodur wijzigde deze reactie 18-01-2018 14:22 (41%)


  • Ierlandfan
  • Registratie: augustus 2002
  • Laatst online: 21-02 17:41
Met de Arduino IDE kan ik ESPEasy inmiddels compilen en met de aanpassing van Pascal werkt het ontvangen van mijn remote niet. (Ik zie wel andere remotes dus het werkt wel) --Edit: zat een typo in, het werkt prima!)
Met de oude Itho libs ontvang ik de signalen van mijn remote wel. Inmiddels ook Mssage2Command erin geklust. Wordt op de website niet goed weergegeven omdat \r\n niets doet...

Ierlandfan wijzigde deze reactie 19-01-2018 14:32 (5%)


  • jvdmast
  • Registratie: november 2002
  • Laatst online: 20-02 19:25
quote:
Ierlandfan schreef op donderdag 18 januari 2018 @ 14:13:
Met de Arduino IDE kan ik ESPEasy inmiddels compilen en met de aanpassing van Pascal werkt het ontvangen van mijn remote niet. (Ik zie wel andere remotes dus het werkt wel)
Met de oude Itho libs ontvang ik de signalen van mijn remote wel. Inmiddels ook Mssage2Command erin geklust. Wordt op de website niet goed weergegeven omdat \r\n niets doet...
Dank voor het snelle testen, dus ik begrijp dat de wijzigingen van Pascal ervoor zorgen dat het bij hem nu wel werkt en bij jou niet meer. Blijkbaar zijn er dus 2 varianten die wisselend bij mensen/remotes werken.

Op een website (html) is het volgens mij niet \r\n maar <br>.

Wat bedoel je met "Mssage2Command erin geklust"?

  • Ierlandfan
  • Registratie: augustus 2002
  • Laatst online: 21-02 17:41
String getLastMessage2str = PLUGIN_145_rf.getLastMessage2str();

log += F("Device-ID: \r\n");
log += Id;
log += F("Message2 Command: \r\n");
log += getLastMessage2str;

ik wilde per se (omdat het niet lukte) ESPEasy zelf kunnen compilen en dus had ik mezelf voorgenomen om er dan zoveel mogelijk debug in te stoppen (log_level_debug) zodat ik de ESP niet de hele tijd aan mijn computer hoef te hangen.

Edit: Dit werkt (iets) beter...ik moet alleen nog message2 autmagisch af laten breken en door laten lopen op de 2e regel.

log = F("Device-ID: \r\n");
log += Id;
addLog(LOG_LEVEL_DEBUG, log);
log = F("Message2: = \r\n");
log += getLastMessage2str;
addLog(LOG_LEVEL_DEBUG, log);
log = F("Command Status: \r\n");
log += F("IGNORED");
addLog(LOG_LEVEL_DEBUG, log);

Ierlandfan wijzigde deze reactie 18-01-2018 14:59 (33%)


  • Pascal Saul
  • Registratie: augustus 2001
  • Laatst online: 21-02 21:17
Bij mij werk de ’niet thuis’ stand (extra laagstand) aka 'standby' ook, net zoals de full speed (wasemkap).

Eigenlijk is het dus zo:
  • 0 = lowest speed
  • 1 = low speed
  • 2 = medium speed
  • 3 = high speed
  • 4 = highest speed
  • 13 = 10m high speed
  • 23 = 20m high speed
  • 33 = 30m high speed
Waarschijnlijk zijn deze knoppen ook nog wel te vinden als iemand de betreffende remote heeft:
  • 5 = automatic?
  • 6 = CO2-concentratie in iedere ruimte wordt geregeld tot onder de 1200 ppm?
  • 7 = Comfort - CO2-concentratie in iedere ruimte wordt geregeld tot onder de 1000 ppm?
  • 303 = Knop 'Koken' 1x indrukken: 30 minuten stand Koken?
  • 603 = Knop 'Koken' 2x indrukken: 60 minuten stand Koken?
  • 33 = Timerknop 1x indrukken: 3 uur hoogstand?
  • 63 = Timerknop 2x indrukken: 6 uur hoogstand?
  • 93 = Timerknop 3x indrukken: 9 uur hoogstand?
.

Mocht je denken dat het niet werkt, kan het zijn dat je de twee potmeters teveel naar links danwel naar rechts hebt gedraaid. Als je de L potmeter helemaal naar links draait is dat gelijk aan de 'lowest speed'. Ditzelfde geldt voor de H potmeter helemaal naar rechts draait is de 'highest' speed. Eigenlijk heeft de unit dus vijf standen mits de potmeters goed zijn ingesteld. Door een remote te nemen met de 'niet thuis' stand, kan je dus de 'lowest speed' selecteren, echter mis je dan bijvoorbeeld de timer functie ;) De 'highest speed' wordt geactiveerd door de Wasemkap versie.

Alle afstandbedieningen maken gebruik van dezelfde achterliggende techniek alleen de functie achter de knop is net iets anders. Enige knop die we nog niet hebben in 'onze' remote is de automatische stand die met sensoren werkt. Iemand die deze toevallig gebruikt?
quote:
Deze RFT-bedieningsschakelaar (zender) kan worden toegepast als drie standen bedieningsschakelaar met
de ’niet thuis’ stand (extra laagstand). Door middel van deze bedieningsschakelaar kan de ventilatie-unit in verschillende ventilatiestanden (capaciteiten) worden geschakeld. Het is mogelijk de RFT-schakelaars te combineren, bijvoorbeeld de ’niet thuis’-versie in de keuken en de ’timer’-versie in de badkamer. Ook kan de RFT-bedieningsschakelaar worden gecombineerd met de conventionele Itho Daalderop drie-standenschakelaar HRS-3. Hierbij zal de laatst bediende schakelaar het toerental van de ventilatie-unit bepalen. Het kan dus zijn dat met de conventionele schakelaar de unit op hoogstand is gezet waarna met de RFT-bedieningsschakelaar de unit op laagstand is gezet.

De knop Wasemkap schakelt de afzuiging van de wasemkap naar de maximale stand en zorgt er tevens
voor dat de zoneklep zodanig wordt ingesteld dat de wasemkap de maximale capaciteit krijgt toebedeeld

Pascal Saul wijzigde deze reactie 18-01-2018 15:57 (29%)


  • edjeed
  • Registratie: april 2011
  • Niet online
quote:
jvdmast schreef op donderdag 18 januari 2018 @ 13:37:
[...]

Ja dat is https, nee fSecure zegt verder niets.
Overigens zie ik een onduidelijkheid in de wijzigingen in Pull Request #1,
In de initReceive wordt CC1101_DEVIATN in het request van 0x50 naar 0x40 veranderd, en dan in de initReceiveMessage2 toch weer op 0x50 gelaten. En aangezien we alleen nog maar message2 bekijken is dat niet logisch.
Lees de comments even door.....
https://github.com/supersjimmie/IthoEcoFanRFT/pull/1

edjeed wijzigde deze reactie 18-01-2018 15:02 (5%)


  • Ierlandfan
  • Registratie: augustus 2002
  • Laatst online: 21-02 17:41
quote:
Enige knop die we nog niet hebben in 'onze' remote is de automatische stand die met sensoren werkt. Iemand die deze toevallig gebruikt?
Bedoel je hiermee de knop dat automatisch bijv de badkamer (RV-Sensor) ingrijpt of de CO2 sensor kan ingrijpen? (DIe ook direct een klep sluit via RF in mijn geval?)

  • jodur
  • Registratie: mei 2007
  • Laatst online: 20-02 21:12
@Pascal Saul ,

Het viel mij gisteren pas op dat bij het aftellen v.d. timer mijn ESP spontaan reboot. Heb er nog geen tijd gehad om dit te onderzoeken. Hebben jullie hier ook last van? Is vanuit de code v.d. plugin nog niet te verklaren.

  • Ierlandfan
  • Registratie: augustus 2002
  • Laatst online: 21-02 17:41
Excuus voor de onjuiste info, met de modificatie van Pascal ontvang ik nu veel sneller en veel meer. Zat wat legacy in mijn hoofd code.

  • Pascal Saul
  • Registratie: augustus 2001
  • Laatst online: 21-02 21:17
quote:
jodur schreef op donderdag 18 januari 2018 @ 19:38:
@Pascal Saul ,

Het viel mij gisteren pas op dat bij het aftellen v.d. timer mijn ESP spontaan reboot. Heb er nog geen tijd gehad om dit te onderzoeken. Hebben jullie hier ook last van? Is vanuit de code v.d. plugin nog niet te verklaren.
/esp01/IthoRemote/State 13
/esp01/IthoRemote/Timer 516
/esp01/status Connection Lost
/esp01/status Connected
/esp01/IthoRemote/State 13
/esp01/IthoRemote/Timer 499
/esp01/IthoRemote/Timer 474
/esp01/IthoRemote/LastIDindex 1
/esp01/IthoRemote/State 13
/esp01/status Connection Lost
/esp01/status Connected
/esp01/IthoRemote/State 13
/esp01/IthoRemote/Timer 416
/esp01/IthoRemote/State 13
/esp01/IthoRemote/Timer 380
/esp01/IthoRemote/LastIDindex 1
/esp01/status Connection Lost

Load: 100% (LC=0) <= ESP

Elke seconde wordt een status de bus opgegooid. Wellicht is dat iets teveel van het goede en kan de ESP dat niet aan i.c.m. de stabiliteit van de WiFi wellicht? Elke 10 seconden gaat misschien beter... De Itho is inmiddels alweer in de low stand gegaan na 10min en de timer loopt nog gewoon door op de ESP haha.

Kan er niet een timer of counter binnen HA gestart worden? Al is dit natuurlijk niet zo fijn als je geen HA gebruikt voor de automation... hmmm...

Ik heb een pull request voor je gemaakt zoals je vroeg.

Pascal Saul wijzigde deze reactie 19-01-2018 16:14 (38%)


  • jvdmast
  • Registratie: november 2002
  • Laatst online: 20-02 19:25
quote:
Ierlandfan schreef op vrijdag 19 januari 2018 @ 14:16:
Excuus voor de onjuiste info, met de modificatie van Pascal ontvang ik nu veel sneller en veel meer. Zat wat legacy in mijn hoofd code.
Ik zal die aanpassing zelf een paar dagen testen en daarna een nieuwe versie (met nog wat wijzigingen) op github zetten.

EDIT: Github versie bijgewerkt met 2 wijzigingen.

jvdmast wijzigde deze reactie 21-01-2018 13:14 (9%)


  • jodur
  • Registratie: mei 2007
  • Laatst online: 20-02 21:12
quote:
[b]Pascal Saul schreef op vrijdag 19 januari 2018 @ 15:29:Kan er niet een timer of counter binnen HA gestart worden? Al is dit natuurlijk niet zo fijn als je geen HA gebruikt voor de automation... hmmm...
Nee dat ga ik oplossen in de plugin. Let we de tijd is een estimate en ik heb niet met de stopwatch er naast gestaan of de 10,20 en 30 min van de timer bij zowel de ITHO als bij de Plugin exact kloppen.

De nieuwere versies van ESP Easy krijg ik niet meer gecompileerd in m'n VS2017 met Visualmicro. :(
In Arduino compileert hij wel gewoon zonder problemen. ;)

Heb al naar PlatformIO gekeken op VS2017 maar dan moet ik Python 2.7 installeren op m'n laptop en daar heb ik geen zin in omdat ik standaard python 3.x heb draaien (voor Home Assistant).
Maak wel een aparte VM machine aan om dit op te testen.

Ga er van de week wel mee verder, wacht ook nog ff. de bevindingen van @jvdmast af, m.b.t. zijn ervaringen en aanpassingen in de ilbrary.

  • jvdmast
  • Registratie: november 2002
  • Laatst online: 20-02 19:25
quote:
jodur schreef op zondag 21 januari 2018 @ 18:23:
[...]
wacht ook nog ff. de bevindingen van @jvdmast af, m.b.t. zijn ervaringen en aanpassingen in de ilbrary.
Zie de edit in 1 bericht boven de jouwe :)

  • Pascal Saul
  • Registratie: augustus 2001
  • Laatst online: 21-02 21:17
quote:
jodur schreef op zondag 21 januari 2018 @ 18:23:
[...]


Nee dat ga ik oplossen in de plugin. Let we de tijd is een estimate en ik heb niet met de stopwatch er naast gestaan of de 10,20 en 30 min van de timer bij zowel de ITHO als bij de Plugin exact kloppen.

De nieuwere versies van ESP Easy krijg ik niet meer gecompileerd in m'n VS2017 met Visualmicro. :(
In Arduino compileert hij wel gewoon zonder problemen. ;)

Heb al naar PlatformIO gekeken op VS2017 maar dan moet ik Python 2.7 installeren op m'n laptop en daar heb ik geen zin in omdat ik standaard python 3.x heb draaien (voor Home Assistant).
Maak wel een aparte VM machine aan om dit op te testen.

Ga er van de week wel mee verder, wacht ook nog ff. de bevindingen van @jvdmast af, m.b.t. zijn ervaringen en aanpassingen in de ilbrary.
Is goed! Ik wacht het af... :)

Ik weet niet of jij heel toevallig Tasmota gebruikt? Gezien Tasmota nu de NodeMCU (generic device) ondersteund zou ik graag de Itho plug-in via Tasmota laten verlopen. Dan heb ik al mijn ESP's op dezelfde software draaien ;) Ik weet dat dit een nice to have is maar zou wel cool zijn. Wellicht dat ik zelf een poging waag als Theo geen zin er in heeft ;)

  • demanditho
  • Registratie: januari 2018
  • Laatst online: 10-02 19:48
Het is gelukt om voor de knoppen eco en cook1 de codes na te maken. Het lukt ook al om de ventilatie terug te zetten op Eco (nadat die met de afstands bediening op cook1 is gezet).

Ik heb het decoderen remote geinplementeerd in python, om wat sneller te kunnen werken, en stuur de command string via mqtt naar een esp.

Ik ga proberen om e.e.a. te integreren in de Itho library. Het gaat wel nog even duren..

  • demanditho
  • Registratie: januari 2018
  • Laatst online: 10-02 19:48
Het vreemde is dat er geen bitjes zijn die afhankelijk zijn van de hogere bitten van de counter, terwijl ik die wel zou verwachten voor een CRC.


Heb
quote:
jvdmast schreef op dinsdag 16 januari 2018 @ 18:44:
[...]

Dat (die counterBytesXY) zijn van die onduidelijke dingen waarvan er op z'n minst een aantal per remote zullen verschillen. En in werkelijkheid zal er een hele andere logica achter zitten dan dat er nu is geprogrammeerd.
quote:
Pascal Saul schreef op donderdag 18 januari 2018 @ 14:47:
Bij mij werk de ’niet thuis’ stand (extra laagstand) aka 'standby' ook, net zoals de full speed (wasemkap).

Eigenlijk is het dus zo:
  • 0 = lowest speed
  • 1 = low speed
  • 2 = medium speed
  • 3 = high speed
  • 4 = highest speed
  • 13 = 10m high speed
  • 23 = 20m high speed
  • 33 = 30m high speed
Waarschijnlijk zijn deze knoppen ook nog wel te vinden als iemand de betreffende remote heeft:
  • 5 = automatic?
  • 6 = CO2-concentratie in iedere ruimte wordt geregeld tot onder de 1200 ppm?
  • 7 = Comfort - CO2-concentratie in iedere ruimte wordt geregeld tot onder de 1000 ppm?
  • 303 = Knop 'Koken' 1x indrukken: 30 minuten stand Koken?
  • 603 = Knop 'Koken' 2x indrukken: 60 minuten stand Koken?
  • 33 = Timerknop 1x indrukken: 3 uur hoogstand?
  • 63 = Timerknop 2x indrukken: 6 uur hoogstand?
  • 93 = Timerknop 3x indrukken: 9 uur hoogstand?
.

Mocht je denken dat het niet werkt, kan het zijn dat je de twee potmeters teveel naar links danwel naar rechts hebt gedraaid. Als je de L potmeter helemaal naar links draait is dat gelijk aan de 'lowest speed'. Ditzelfde geldt voor de H potmeter helemaal naar rechts draait is de 'highest' speed. Eigenlijk heeft de unit dus vijf standen mits de potmeters goed zijn ingesteld. Door een remote te nemen met de 'niet thuis' stand, kan je dus de 'lowest speed' selecteren, echter mis je dan bijvoorbeeld de timer functie ;) De 'highest speed' wordt geactiveerd door de Wasemkap versie.

Alle afstandbedieningen maken gebruik van dezelfde achterliggende techniek alleen de functie achter de knop is net iets anders. Enige knop die we nog niet hebben in 'onze' remote is de automatische stand die met sensoren werkt. Iemand die deze toevallig gebruikt?


[...]

  • Templar
  • Registratie: september 2000
  • Laatst online: 18-02 21:50
quote:
demanditho schreef op dinsdag 23 januari 2018 @ 10:48:
Ik ga proberen om e.e.a. te integreren in de Itho library. Het gaat wel nog even duren..
Kan jij de Message2 bytes alvast posten/online gooien?

  • jvdmast
  • Registratie: november 2002
  • Laatst online: 20-02 19:25
quote:
demanditho schreef op dinsdag 23 januari 2018 @ 10:54:
Het vreemde is dat er geen bitjes zijn die afhankelijk zijn van de hogere bitten van de counter, terwijl ik die wel zou verwachten voor een CRC.
Heb je de codes werkend met het remoteID wat nu ook in de library zit, of met jouw eigen ID?

  • demanditho
  • Registratie: januari 2018
  • Laatst online: 10-02 19:48
Alleen met mijn eigen id.

  • jvdmast
  • Registratie: november 2002
  • Laatst online: 20-02 19:25
quote:
Oke, dan is het mooie dat jij dus de library werkend hebt met jouw ID.
Moest je daarvoor nog meer aanpassen dan alleen het ID?

  • demanditho
  • Registratie: januari 2018
  • Laatst online: 10-02 19:48
Ik heb alleen nog maar eco en cook1 werkend. Er zijn veel aanpassingen. De tweede set counter bytes lijken geheel anders. Verder is het commando voor cook1 in langer, lijkt even lang als een join.

De opbouw van het eerste deel van het bericht, de preamble, dev id, counter en command bytes lijkt helzelfde. De CommandBtes voor cook1 lijken langer, waardoor de hogere counter bytes verschoven zijn.

Die hogere counterbytes lijken toch een soort checksum te zijn. Ik ga nog wat puzzelen om the kijken of ik daar achter kan komen. Hieronder de python code die ik gebruik voor het genereren van mijn command strings. Het wordt nog wel een klus om dit weer te integreren in jullie library
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
def cb(b):
    return b << 1 | b ^ 0b1

def bit(v, i):
    return v >> i & 1

def calcByte16 (counter):
    b7 = bit(counter, 7)
    b6 = bit(counter, 6)
    b5 = bit(counter, 5)
    b4 = bit(counter, 4)
    
    r =          cb(b4)
    r = r << 2 | cb(b5)
    r = r << 2 | cb(b6)
    r = r << 2 | cb(b7)
    return r


def calcByte17(counter):
    b0 = bit(counter, 0)
    b1 = bit(counter, 1)
    b2 = bit(counter, 2)
    r = 0b1000   | cb(b0)
    r = (r << 2) | cb(b1)
    r = (r << 2) | cb(b2)
    return r

def calcByte18(counter):
    b3 = bit(counter, 3)
    r = cb(b3)
    r = r << 6
    return r

debug = True

def calcByte33 (counter, command, b = None):
    hibits = 0b0110   # eco cmd

    b5 = bit(counter, 5)
    b4 = bit(counter, 4)
    b45sum = b4 ^ b5

    if command == 'cook1':
        r = 0b10100101
    else:
        r = hibits
        r = r << 2 | cb(b4)
        r = r << 2 | cb(b45sum ^ 1)

    if debug and b != None and b != r:
        print ("mismatch byte33 {:0>8b} -> {:0>8b}".format(b, r))
    return r

def calcByte34 (counter, command, b = None):
    cmdByte = 0b10    #eco
    cmdByte = 0b10    #cook1

    c2 = (counter + 16)
    b7 = bit(c2, 7)
    b6 = bit(c2, 6)

    if (command == 'cook1'):
        r = 0b01011001
    else:
        r =          cb(b6 ^ 0b1)
        r = r << 2 | cb(b7)
        r = r << 2 | cmdByte
        r = r << 2 | cb(counter & 1 ^ 1)
    if debug and b != None and b != r:
        print ("mismatch byte34 {:0>8b} -> {:0>8b}".format(b, r))

    return r


def calcByte35 (counter, command, b = None):

    c = counter 
    b3 = bit(c, 3)
    b2 = bit(c, 2)
    b1 = bit(c, 1)
    b0 = bit(c, 0)

    if command == 'cook1':
        r = 0b10010110
    else:
        r =          cb(b1 ^ 1)
        r = r << 2 | cb(b2 ^ 1)
        r = r << 2 | cb(b3 ^ 1)
        r = r << 2 | 0b10

    if debug and b != None and b != r:
        print ("mismatch byte35 {:0>8b} -> {:0>8b}".format(b, r))
    return r

def calcByte38 (counter, command, b):
    if command == 'cook1':
        r = 0b0110
        r = r << 2 | cb(bit(counter-1, 4))
        r = r << 2 | cb(bit(counter + 15, 5))
    else:
        r = 0b10101010

    #    counter = counter +16 - 1
    if b != None and b != r:
        #if command == 'eco':
        print ("mismatch abyte38 {} {:0>8b} {:3} -> {:0>8b}    {:0>8b}".format(command, b, counter, r, counter))
    return r

def calcByte39 (counter, command, b):
    if command == 'cook1':
        r = cb(bit(counter + 47, 6) ^ 1)
        r = r << 2 | cb(bit(counter+47, 7))
        r = r << 2 | 0b10
        r = r << 2 | cb(bit(counter, 0))
    else:
        r = 0b10101010

    if debug and b != None and b != r:
        #    counter = (counter + 47) & 255
        #if command == 'eco':
        print ("mismatch abyte39 {:0>8b} {:3} -> {:0>8b}    {:0>8b}".format(b, counter, r, counter))
    return r

def calcByte40 (counter, command, b):
    if command == 'cook1':
        r = cb(bit(counter, 1) ^ bit(counter, 0))
        r = r << 2 | cb(bit(counter-1, 2) ^ 1)
        r = r << 2 | cb(bit(counter-1, 3) ^ 1)
        r = r << 2 | 0b10
    else:
        r = 0b10101010

    if b != None and b != r:
        #counter = counter -1
        print ("mismatch abyte40 {:0>8b} {:3} -> {:0>8b}    {:0>8b}".format(b, counter, r, counter))
    return r


  • jodur
  • Registratie: mei 2007
  • Laatst online: 20-02 21:12
quote:
:)F
Hierbij de aangepaste versie die tijdens de timer functie niet meer reboot. Ik update nu de timer per 2 sec, waardoor de Load niet meer zo hoog oploopt. Let wel nu ':" gebruiken in je ID string ipv. '-'.
Ook heb ik gecompileerd met de laatste gewijzigde versie van de library die meer signalen ontvangt.
https://github.com/jodur/ESPEASY_Plugin_ITHO
quote:
Ik weet niet of jij heel toevallig Tasmota gebruikt? Gezien Tasmota nu de NodeMCU (generic device) ondersteund zou ik graag de Itho plug-in via Tasmota laten verlopen. Dan heb ik al mijn ESP's op dezelfde software draaien ;) Ik weet dat dit een nice to have is maar zou wel cool zijn. Wellicht dat ik zelf een poging waag als Theo geen zin er in heeft ;)
Ik gebruik toevallig ook tasmota voor m'n sonoff switches. Zie zelf geen toegevoegde waarde om de ITHO plugin te 'porten' naar tasmota. Zie tasmota echt specifiek voor SONOFF ondanks dat ze nu ook genrieke modules supporten.

  • martinvdm
  • Registratie: januari 2001
  • Laatst online: 10:26

martinvdm

www.martinvdm.nl

quote:
ThinkPad schreef op zaterdag 1 juli 2017 @ 14:40:

Voor de luie mensen, hier een kant-en-klare binary: IthoRemote_ESPEasy2.0.bin (gebaseerd op ESPEasy 'Release v2.0.0-dev10') zodat je de Arduino IDE en libraries e.d. niet nodig hebt. Flashen kan met deze tools (uitpakken, .bin in dezelfde folder zetten en dan FlashESP8266.exe uitvoeren)

Enjoy! _/-\o_
Misschien maak ik ergens een foutje, maar als ik de BIN download en de ESP easy flash tool gebruik dan gaat het flashen helemaal goed, maar lijkt de Wemos niet in AP mode te gaan. Ik heb iig geen Wifi netwerk.

He who laughs last thinks slowest! | MartinvdM.nl | 3000Wp Zonnepanelen


  • ThinkPad
  • Registratie: juni 2005
  • Nu online

ThinkPad

Moderator Duurzame Energie & Domotica

L460

quote:
martinvdm schreef op woensdag 31 januari 2018 @ 22:17:
[...]


Misschien maak ik ergens een foutje, maar als ik de BIN download en de ESP easy flash tool gebruik dan gaat het flashen helemaal goed, maar lijkt de Wemos niet in AP mode te gaan. Ik heb iig geen Wifi netwerk.
Geen idee, dat soort dingen heb ik niet getest.

Zet anders je wifi credentials erin via de serial console: ThinkPad in "Sonoff: goedkope schakelaar op afstand via wifi (ESP8266)"

Je kunt trouwens beter de versie van jodur pakken: https://github.com/jodur/ESPEASY_Plugin_ITHO/tree/master/BIN
Die is een stuk nieuwer en heeft wat fixes e.d. aan boord.

ThinkPad wijzigde deze reactie 31-01-2018 22:32 (13%)

Gas besparen door CV-tuning | Elektriciteit besparen
Geen (Domoticz) vragen via privébericht die ook via het forum kunnen a.u.b.


  • martinvdm
  • Registratie: januari 2001
  • Laatst online: 10:26

martinvdm

www.martinvdm.nl

quote:
ThinkPad schreef op woensdag 31 januari 2018 @ 22:32:
[...]

Geen idee, dat soort dingen heb ik niet getest.

Zet anders je wifi credentials erin via de serial console: ThinkPad in "Sonoff: goedkope schakelaar op afstand via wifi (ESP8266)"

Je kunt trouwens beter de versie van jodur pakken: https://github.com/jodur/ESPEASY_Plugin_ITHO/tree/master/BIN
Die is een stuk nieuwer en heeft wat fixes e.d. aan boord.
Bedankt voor de snelle reactie. Ik had blijkbaar niet geheel de juiste BIN. Ik zal die van Jodur pakken. Als die klaar is met firmware uploaden en hangt aan mijn wifi? wat zijn dan de vervolg stappen? ik wil MQTT met HA. Heb HA en MQTT al draaien.

He who laughs last thinks slowest! | MartinvdM.nl | 3000Wp Zonnepanelen


  • ThinkPad
  • Registratie: juni 2005
  • Nu online

ThinkPad

Moderator Duurzame Energie & Domotica

L460

Gas besparen door CV-tuning | Elektriciteit besparen
Geen (Domoticz) vragen via privébericht die ook via het forum kunnen a.u.b.


  • Ierlandfan
  • Registratie: augustus 2002
  • Laatst online: 21-02 17:41
@demanditho

Kun jij je huidige setup posten? Ik begrijp dat je de message2 commands via (Serial?) naar een python script voert en dan via MQTT er iets mee doet. Zou je het volldige script kunnen posten? Kan ik voor nu even verder :-)

  • martinvdm
  • Registratie: januari 2001
  • Laatst online: 10:26

martinvdm

www.martinvdm.nl

quote:
Oh nice, ik was met jou post bezig, maar hier staat idd een goede tutorial. thanks. morgen ff verder proberen.

He who laughs last thinks slowest! | MartinvdM.nl | 3000Wp Zonnepanelen


  • demanditho
  • Registratie: januari 2018
  • Laatst online: 10-02 19:48
Het is gelukt om te ontcijferen hoe de 2e set counter afhankelijke byte in elkaar zit. Het werkt in ieder geval voor mijn afstands bediening. Zou ik van andere mensen wat logs kunnen krijgen, zodat ik kan kijken of het algemeen werkt?

De python code hieronder laat zien hoe het werkt.
  1. de berichten hebben niet altijd dezelfde lengte. de waarde 0xac lijkt het einde aan te geven. start bytes en 0xac en verder worden eraf gehaald.
  2. het bericht is nu "manchester" encoded. een bit is 01 of 10. Alle oneven bitjes kunnen weg
  3. Er blijven groepjes van 4 bitten over, deze worden allemaal achter elkaar geplakt. Nu bijkt dat er om de 4 bit een '0' extra in zit. Die al wel nodig zijn voor de cc1101 om de klok te synthetiseren. De string wordt opgehakt in stukjes van 5 bit, en de nullen worden weggehaald.
  4. De groepjes van 4 bit die overblijven, staan in big endian. Ze worden in reverse order gezet, en 2 aan 2 aan elkaar geplakt.
  5. Het resultaat: 3 byte ID, 1 byte counter, payload (voor mij 6 of 8 byte), 1 byte checksum. Als deze bytes bij elkaar worden geteld, levert het altijd dezelfde kontstante.
Als ik wat meer voorbeelden van andere afstandsbedieningen heb kan ik het omzetten naar c++ en in de Itho library inbouwen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
    def prepCrc(self, l):
        l = l.split(' ')
        rftWord = [int(v2, 16) for v2 in l]

        # drop preamble and tail
        rftWord = rftWord[8:]
        rftWord = rftWord[:(rftWord.index(0xac))]

        # drop every other bit
        rftWord2 = []
        for w in rftWord:
            w2 = BitArray(uint=w, length=8)[0::2]
            rftWord2 = rftWord2 + [w2.uint]

        #print(" ".join(map("{:0>4b}".format, rftWord2)))

        # collect all bit in a single array
        # divide into groups of 5 bits, drop a bit that is always 0, reverse the order
        bs = " ".join(map("{:0>4b}".format, rftWord2))
        a = BitArray(bin=bs)[2:]
        packetLen = int(a.len/5)
        b = a.unpack('bin:4, pad:1,' * packetLen)
        c = list(map(lambda x: x[::-1], b))

        # collect 4 bit words into 8 bits words
        # add all numbers, take 8 bit remainder
        # this will be a constant
        r = []
        for i in range(0, packetLen, 2):
            r = r + [c[i] + c[i+1]]
        sum = 0
        for w in r:
            sum = sum + BitArray(bin=w).uint
            #print(BitArray(bin=w).uint, sum)
        s = list(map(lambda x: (BitArray(bin=x).hex), r))

        print("id = {}".format(s[0:3]))
        print("cmd = {}".format(s[4:-1]))
        print("{}    sum = {}".format(s, sum % 256))


  • martinvdm
  • Registratie: januari 2001
  • Laatst online: 10:26

martinvdm

www.martinvdm.nl

quote:
Ok, het werkt grotendeels! MQTT vanuit HA werkt, includen is ook gelukt. Alleen blijft de status in HA op Unknown, is nog ergens niet helemaal goed. En lukt het me ook niet om de huidige remote in het log van espeasy naar voren te laten komen. Heb onder advanced Serial en Web log naar 3 gezet, maar zie niks voorbij komen als ik op de knop druk. Heb Pin 6 aan D1 gesoldeerd en in ESPEasy I2C Interface
GPIO ⇿ SDA en GPIO ⇾ SCL op NONE gezet.

hoe pak ik dit aan dat de status overeen komt als de remote ingerukt wordt?
(even terzijde: Heb ook MQTT Retain Msg aan staan, das ook de bedoeling volgens mij)

martinvdm wijzigde deze reactie 01-02-2018 21:56 (55%)

He who laughs last thinks slowest! | MartinvdM.nl | 3000Wp Zonnepanelen


  • jodur
  • Registratie: mei 2007
  • Laatst online: 20-02 21:12
Martin, je hebt dezelfde vraag ook gepost op homeassistant forum. Je zegt dat het werkt, maar als ik jouw verhaal lees werkt het dus niet?

Je ziet geen ID voorbij komen als je op een knop drukt. Welke remote heb je??

Als je status van MQTT topic unknow zijn, dan vermoed ik dat je een mismatch hebt met de MQTT topics.

  • martinvdm
  • Registratie: januari 2001
  • Laatst online: 10:26

martinvdm

www.martinvdm.nl

quote:
jodur schreef op vrijdag 2 februari 2018 @ 09:12:
Martin, je hebt dezelfde vraag ook gepost op homeassistant forum. Je zegt dat het werkt, maar als ik jouw verhaal lees werkt het dus niet?

Je ziet geen ID voorbij komen als je op een knop drukt. Welke remote heb je??

Als je status van MQTT topic unknow zijn, dan vermoed ik dat je een mismatch hebt met de MQTT topics.
Dat klopt idd, ik heb het ook daar gepost. Ik heb de 536-0124 Remote. Ik zal vanavond eens kijken naar de mqtt topics maar volgens mij is de esp easy kant %sysname% en heb ik in HA dit ook meegegeven.

He who laughs last thinks slowest! | MartinvdM.nl | 3000Wp Zonnepanelen


  • jodur
  • Registratie: mei 2007
  • Laatst online: 20-02 21:12
Met de 536-0124 Remote zou het gewoon moeten werken, deze gebruik ik ook!

Ik neem aan dat je niet letterlijk %sysname% in de topic naam heb staan?

Let wel je moet de OpenHAB MQTT controller selecteren en niet de default Domoticz!
Pagina: 1 ... 7 8 9 Laatste


Apple iPhone XS Red Dead Redemption 2 LG W7 Google Pixel 3 XL OnePlus 6T (6GB ram) FIFA 19 Samsung Galaxy S10 Google Pixel 3

Tweakers vormt samen met Tweakers Elect, Hardware.Info, Autotrack, Nationale Vacaturebank, Intermediair en Independer de Persgroep Online Services B.V.
Alle rechten voorbehouden © 1998 - 2019 Hosting door True