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
Acties:

Onderwerpen


  • mightym
  • Registratie: januari 2010
  • Laatst online: 18:17

mightym

9620 Wp+ 7.5 kW Ecodan

quote:
mvnieuw schreef op zondag 13 september 2015 @ 23:21:
Voor de geinteresseerde tweakers onder ons, ik ben bezig om het draadloze protocol te ontrafelen. De hardware heb ik al ontleed en is te vinden op http://diystuff.nl/embedded/itho-rf-protocol/. Ook heb ik de complete unit gedemonteerd en dit is te zie op http://diystuff.nl/diy/vraaggestuurde-ventlatie/.

Volgt er nu een vraag van mij, wie heeft de PWM optie print en kan daarvan in hoge resolutie van beide zijdes een foto maken, waarop ook de componentopdruk te lezen is. Daarme kan ik mijn onderzoek voortzetten naar deze unit.

Tegen de tijd dat ik het protocol werkend heb, dan wil ik graag een keer komen meten bij een afstandsbediening die de "Niet thuis" optie heeft. Ook heb ik interessen in een CO2 meter, deze is in staat om via draadloos een 0-100% signaal door te sturen naar de ecofan.

Uiteindelijke doel is om een dongle te kunnen maken die via Domoticz aangestuurd kan worden. Wie doet er mee?
Die PWM print heb ik al een jaar of 8 ongebruikt liggen... had er toen twee gekocht voor twee ventilatieboxen, maar gebruik er tot op heden maar 1.



9620 Wp+ 7.5 kW Mitsubishi Ecodan + 300L boiler


  • Speedy-Andre
  • Registratie: maart 2002
  • Laatst online: 00:26

Speedy-Andre

Satio-X10-SxS-ZL-XA

quote:
mvnieuw schreef op maandag 14 september 2015 @ 10:57:
[...]

Ik heb even naar de Homey gekeken, en die heb ik al eens langs zien komen. Hij ondersteunt 433 Mhz. Ik weet niet in hoeverre de software aangepast kan worden zodat ie ook op 868 Mhz werkt. Ik denk namelijk dat de Homey de NRF905 gebruikt en hem excluisief in receive zet op de 433 Mhz frequentie. Ach, we gaan wel zien waar dit draadje heen gaat.

Als je de PWM print hebt, en nadat ik de foto's uitgeplozen heb, dan wil ik wel een keertje langs komen om op de I2C of SPI signalen te meten met mijn LogicAnalyzer. Alle bevindingen worden dan opensource op de site gezet >:) Ik woon in Eindhoven . ..
Ik ben met een Jeelabs rf usbstick bezig waar een RFM69 op zit die je met een sketch kan flashen.
De voorganger is de RFM12, die is iets ongevoeliger en heeft minder registers.
Mijn Rpi herkent hem en het FHEM domotica pakket ondersteunt beide.
De bedoeling was om een paar draadloze kWh stekkers te loggen ipv uitlezen met een display (868MHz).
Helaas ben ik geen programmeur of Linux expert dus het kost me de nodige moeite om e.e.a. aan het werk te krijgen :P
Wellicht zijn de Jeelabs sticks geschikt voor Domoticz, dan zijn er ook genoeg experts die er iets mee kunnen.

PVoutput oost west, zuid best! Stookt met 2x Tosh Daiseikai 8 3,5kW, SWW Atlantic Explorer 3 200l. Gasloos sinds aug 2016 Sinds 6-11-2018 5590Wp


  • mensand
  • Registratie: februari 2003
  • Laatst online: 30-10 21:10
Hoi heeft iemand fot's van hoe een en ander aan elkaar is aangesloten?
bijv. @TechApprentice en @jvdmast

Ik zie de code in github via VS2015 is gemaakt. Ik heb ook VS2015 maar gebruik momenteel de Adruino IDE. Is er info te vinden hoe dit vanuit VS2015 te doen ?

mensand wijzigde deze reactie 03-08-2016 11:39 (50%)


  • jvdmast
  • Registratie: november 2002
  • Laatst online: 31-10 15:08
quote:
SiErRa schreef op woensdag 21 september 2016 @ 20:47:
[...]


Zou je daar eens een foto van kunnen posten? Ik heb een NodeMCU bordje en een CC1101 binnen, maar hoe ik dit (op een breadboard) aan elkaar moet koppelen, ben ik nog niet uit, vooral omdat op de CC1101 eigenlijk niet echt pinnen/gaatjes zitten en er ook geen tekst op staat.

Een beetje zoals deze variant hier: https://www.tindie.com/pr...c1101-rf-wireless-module/
(ja ik weet dat dit een 433 variant is, ik heb die van ebay links besteld die hier in het topic staan.)
Een foto van mijn setup zal niet handig zijn, er zit zoveel andere zaken op en ik gebruik dusdanig korte draden dat je alleen een beetje spaghetti ziet. Ik heb toevallig nu een cc1101 aan een arduino pro mini hangen:

Bij mij wordt in principe de paarse (nog) niet gebruikt.

Maar eigenlijk is het heel simpel:
1. neem 7 (8, maar 1 is dus nog ongebruikt) van die breadboard-draadjes.
2. knip die af op max 10cm lengte.
3. Soldeer de afgeknipte kant aan de cc1101.
(Dat is prima te doen met een klein soldeerboutje vanwege de kleine uitsparinkjes op het cc1101 printje.)
4. De andere kant van de draden kan je dan in je breadboard prikkeen, bij de pinnen van je arduino/esp/... module.

Neem een zwarte draad voor GND en een rode voor de 3.3V.
De volgorde van de 7/8 aansluitingen van de cc1101 staan ondermeer op mijn github.

Aan de kant van de 3 aansluitingen soldeer je het bijgeleverde spiraal-antennetje op de middelste, of je neemt nog zo'n breadboard draadje en zorgt dat die in totaal 8.5cm is. (evt prikpinnetjes meegerekend, maar die kan je er beter afknippen).
Omdat het antennetje snel afbreekt, heb ik een draadantenne gebruikt (flexibeler) en die met wat tape gefixeerd aan het printje.

Kijk uit met mijn voorbeeld, ik gebruik een 3.3V arduino, sluit het NIET 1 op 1 aan op een 5V arduino!

EDIT: kijk uit met het antennetje (en andere draden).
Bij mij is zojuist de 2e cc1101 onbruikbar geworden doordat, mede door het experimenteren, bij de antenne het printspoortje van de print afgescheurd is. Ik kan er dus geen antenne meer op zetten, dus onbruikbaar geworden. |:(

jvdmast wijzigde deze reactie 22-09-2016 09:40 (6%)


  • Whizzer
  • Registratie: november 2000
  • Laatst online: 23-10 20:46

Whizzer

Flappie!

Zeg het maar...



Volgens mij klopt ie.. Alle draadjes zijn (inclusief metalen pin) 6,5cm.

Ik ben geweldig.. en bescheiden! | AnimalCribs, dé plek om te shoppen voor uw huisdier


  • Whizzer
  • Registratie: november 2000
  • Laatst online: 23-10 20:46

Whizzer

Flappie!

quote:
jvdmast schreef op maandag 5 december 2016 @ 16:21:
+3.3V op 3.3V, GND op GND.
D8 naar de laatste pin van de cc1101, pin CSN.
D7 gaat naar MOSI
D6 gaat naar MISO
D5 gaat naar SCK
Lijkt dus te kloppen.

1. Staat er 868MHz op je cc1101?
Ja! Kijk maar
quote:
2. Kan je de boel aangesloten houden op je serial-port en dan op een gewone RFT remote op een knop drukken? Volgens mij moet er dan in je serial console een paar regels verschijnen.
Als je doelt op de Serial Monitor van de Arduino IDE, dan zie ik geen enkele output als ik een knop op een RFT indruk, helemaal niets.
quote:
3. Voeg dit toe onderaan in de setup() (na de regel met join command sent):
C++:
1
2
3
4
5
6
Serial.print("CC1101_PARTNUM "); //cc1101=0
Serial.println(cc1101.readRegister(CC1101_PARTNUM, CC1101_STATUS_REGISTER));
Serial.print("CC1101_VERSION "); //cc1101=4
Serial.println(cc1101.readRegister(CC1101_VERSION, CC1101_STATUS_REGISTER));
Serial.print("CC1101_MARCSTATE ");
Serial.println(cc1101.readRegister(CC1101_MARCSTATE, CC1101_STATUS_REGISTER) & 0x1f);

En kijk in de serial monitor wat er verschijnt al je hem start?
Uuuuuhmmm :? :?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Arduino: 1.6.10 (Windows 10), Board: "WeMos D1 R2 & mini, 80 MHz, 921600, 4M (3M SPIFFS)"

C:\Users\Whizzer\ITHO\ITHO.ino: In function 'void setup()':

ITHO:57: error: 'cc1101' was not declared in this scope

   Serial.println(cc1101.readRegister(CC1101_PARTNUM, CC1101_STATUS_REGISTER));

                  ^

exit status 1
'cc1101' was not declared in this scope

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Ik ben geweldig.. en bescheiden! | AnimalCribs, dé plek om te shoppen voor uw huisdier


  • incmve
  • Registratie: augustus 2008
  • Laatst online: 19:57

incmve

maredana.nl

Ik had ook problemen met ontvangen, nieuwe CC1101 besteld en nog niet werken.
Wissel ik de Wemos voor een Nodemcu en viola het werkt :?

De Wemos werkt prima met andere dingen zoals RF etc. 8)7

Ik heb zelf wat bij elkaar geprakt met de code van supersjimmie, web interface met OTA en API zodat ik vanuit pimatic ook de ventilator aan kan zetten.
Wil later nog een DHT22 er op knopen om hem zelfstandig te laten draaien in de badkamer.


Ik ben echt geen programmeur maar voor de liefhebber: https://github.com/incmve/Itho-WIFI-remote

Mijn YT kanaal - Mijn domotica blog


  • Speedy-Andre
  • Registratie: maart 2002
  • Laatst online: 00:26

Speedy-Andre

Satio-X10-SxS-ZL-XA

quote:
deklusjesman schreef op woensdag 7 december 2016 @ 21:33:

Via via kwam ik hier terecht en zat wat te lezen. Ik zie dat er blijkbaar nog een andere remote bestaat. Maar waar kan je die dan bestellen? Ik wil die dan ook nog wel even van dichtbij bekijken.
Hier :)

https://www.cvtotaal.nl/media/catalog/product/cache/1/thumbnail/65x/040ec09b1e35df139433887a97daa66f/v/e/ventilatie_rft_536-0165.png

PVoutput oost west, zuid best! Stookt met 2x Tosh Daiseikai 8 3,5kW, SWW Atlantic Explorer 3 200l. Gasloos sinds aug 2016 Sinds 6-11-2018 5590Wp


  • edjeed
  • Registratie: april 2011
  • Niet online
Zou mooi zijn als het probleem kan worden gevonden.
Ik ben bezig met mijn eigen 'smarthome' en heb een touchscreen met pi in de woonkamer hangen waar ik de status/bediening op kan zien/regelen. Nu kan ik alleen de Itho aansturen, maar nog niet zien wat de huidige status is.
display

  • racquemis
  • Registratie: maart 2010
  • Laatst online: 08-11 11:32
Als ik trouwens de inhoud remote recht boven de antenne houd, word er helemaal niks ontvangen. Het begint pas te werken bij een afstand van zo'n 10 cm


EDIT:
Ik heb nog wat interressants gevonden. Ik heb een high res afbeelding gevonden van de specifieke CC1101 module. Als ik het goed lees bevat de module een 28 Mhz kristal

In de library word een XTAL frequentie van 26 mhz benoemd, als de registers staan ingesteld met de juiste waarde voor gebruik bij 26 mhz zou dit evt ook kunnen verklaren waarom ontvangst zo slecht is.

racquemis wijzigde deze reactie 02-01-2017 09:15 (59%)


  • japie101
  • Registratie: augustus 2003
  • Laatst online: 21:31
Ik ben ook aan de slag gegaan, heb de code gebruikt die in dit topic eerder is geplaatst, met een paar kleine aanpassingen.

Vandaag de join gedaan, dit ging goed maar na de join kon ik nog 1 maal een "high" versturen en daarna was de web interface niet meer te benaderen, even spanningsloos gemaakt en alles werkt nu en blijft ook werken.

Bedankt voor alle hulp in dit topic.

Itho

  • racquemis
  • Registratie: maart 2010
  • Laatst online: 08-11 11:32
Eerste update over het uitlezen remote:

Vandaag een opstelling gemaakt om de SPI communicatie van mijn remote uit te lezen.
Met de datasheet van de MEGA169PV erbij gekeken waar de signalen voor SCK, MOSI, MISO en CS zaten en natuurlijk ook de GND.
MISO blijkt compleet niet aangesloten zijn, voor de overige signalen zijn er mooie testeilandjes op de printplaat ruim genoeg om wat draden aan te solderen.
Het eindresultaat:



Na de draden aangesloten te hebben op de logic analyzer kwam de data al direct erg betrouwbaar binnen, meerdere keren op dezelfde drukken levert hetzelfde resultaat op.
Wat direct opvalt is dat deze remote met elke druk op de knop 6x het commando verstuurt. waar bij elke keer opnieuw alle configuratie registers geschreven worden (beetje inefficiënt)



Het commando heb ik nog niet kunnen vinden. geen van de markers die het begin of einde van een commando aanduiden heb ik kunnen vinden dus deze remote doet iets anders.
De ontvangen data is echter wel valide:
Het eerste SPI commando dat word gegeven is 0x30 – Reset CC1101
Gevolgd door:
- IOCFG0 = 0x2E
- FREQ2 = 0x21
- FREQ1 = 0x65
- FREQ0 = 0x6A
Volgens RFStudio komen de waarden voor FREQ2, FREQ1, FREQ0 overeen met een base frequency van 868.299866 Mhz

Later meer.

  • Speedy-Andre
  • Registratie: maart 2002
  • Laatst online: 00:26

Speedy-Andre

Satio-X10-SxS-ZL-XA

Je moet wat prutsen om het goed te krijgen zeg, de juiste IDE 1.6.9 gebruiken deed het hem :P
Ik kan hem nu besturen door <IP>/low enz. in een browser te typen en heb een meerstanden switch in Domoticz toegevoegd waar ik de commando's mee stuur :*)

https://tweakers.net/ext/f/0VcQ7CstvkLRLlEWEvkfPwfG/full.jpg

Helaas ontbreekt de extra-laag of niet-thuis stand in deze code, die zou onder de Off toets kunnen.
Nu heb ik de timer maar bij Off ondergebracht.
Hopelijk lukt het me om via deze weg een Tcr5000 toe te voegen voor de watermeter, al werkt die wel andersom (bij elke omwenteling een melding in Domoticz krijgen die dan een teller ophoogt).

PVoutput oost west, zuid best! Stookt met 2x Tosh Daiseikai 8 3,5kW, SWW Atlantic Explorer 3 200l. Gasloos sinds aug 2016 Sinds 6-11-2018 5590Wp


Acties:
  • +4Henk 'm!

  • TechApprentice
  • Registratie: juli 2009
  • Laatst online: 31-10 09:52
In 3 library bestanden moeten de extra commando's toegevoegd worden om via de *.ino file aan te kunnen roepen. Ik had eerst geprobeerd om op basis van de library van supersjimmie en het voorbeeld van ThinkPad om de commando's er bij te knutselen, uiteraard aan de hand van de info van Klusjesman. Dat gaf een reboot van mijn NodeMCU bij het away commando maar niet bij de FullPower. Omdat ik niet boven water kreeg waar het aan lag heb ik toen de files van racquemis gepakt (waar de Away al in stond) en daar nog de FullPower aan toegevoegd.

Ik probeer de komende dagen de code wat op te schoonen en kijk of ik het complete pakketje als zip ergens weg zet.

EDIT:
Maar even gelijk gedaan :*)
https://github.com/TechApprentice/IthoEcoFanRFT5modeESP

Ik heb hopelijk de juiste mensen de credits gegeven (ook in de code).
Ik heb gewerkt met Arduino IDE 1.8.1 (voor het geval dat dit iets uitmaakt)

In Domoticz heb ik het nu zo:
IthoSwitchDomoticz

En de configuratie hiervan:
SwitchIthoConfigDomoticz

Ik ben in ieder geval erg blij. 8)

TechApprentice wijzigde deze reactie 19-05-2017 14:35 (34%)
Reden: Waarom uitstellen als het nu ook wel even kon


  • Speedy-Andre
  • Registratie: maart 2002
  • Laatst online: 00:26

Speedy-Andre

Satio-X10-SxS-ZL-XA



Een module met pootjes, deze kan je in een breadboard prikken :)

Let niet op de prijs, die pootjes kosten geld en een antenne moet er nog bij (evt draadje) :P

PVoutput oost west, zuid best! Stookt met 2x Tosh Daiseikai 8 3,5kW, SWW Atlantic Explorer 3 200l. Gasloos sinds aug 2016 Sinds 6-11-2018 5590Wp


  • remcoXP
  • Registratie: februari 2002
  • Laatst online: 13-11 11:50
De meldingen kan ik inderdaad ignoren. thanks.

Ik heb zelf de onderstaande remote op een buva upstream box. de stork remote is compatible. maar het lijkt of mijn geprul niet werkt met de verschillende firmwares. ik twijfel daarom nu ook meer aan de hardware. wellicht een nieuwe zender bestellen.


is er een tweakers die dezelfde setup heeft? en dit werkend met een wemos of nodemcu?
wellicht dat de combi van de c1101 en deze buva box helemaal nooit gaat werken :P

Acties:
  • +1Henk 'm!

  • Pascal Saul
  • Registratie: augustus 2001
  • Laatst online: 22:19
quote:
Drawer schreef op woensdag 21 juni 2017 @ 15:20:
Hmm.
En de methode om te linken is simpelweg je Itho van stroom halen en daarna je ESP resetten right? Hoelang blijft die Itho ongeveer in z'n linkmodus staan?
Ik heb dezelfde boel ook net gebouwd en geflashed met de laatste versie van de IDE 18.3...
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
&#11822;
ESP8266 remote for Itho ventilation unit
See https://gathering.tweakers.net/forum/list_messages/1690945 for more information!
Setting up CC1101 module...
CC1101 transmitter is now ready!

Sending command 'join' to Itho ventilation unit...
send
Command 'join' has been sent!

Connecting to wifi-network: <SSID>.....
I am now connected to '<SSID>' and my IP-address is: <IP>

Starting webserver...
Webserver is now running!

Alles werkt hier direct... vanuit de woonkamer zenden naar zolder is geen probleem.

Kabel zijn ongeveer 10CM lang ook. Pin 6 en 7 zijn niet in gebruik van de C1101.

Nu nog even kijken hoe we de boel geïntegreerd gaan aansturen met de rest van de domotica...

Wellicht is/kan ik de webserver nog simpel uit te breiden met wat buttons: low, medium, high, timer * x...

Pascal Saul wijzigde deze reactie 30-06-2017 11:47 (8%)


  • Drawer
  • Registratie: november 2004
  • Niet online
In the end heb ik het allemaal werkend idd. Met de code van Thinkpad en de aanpassing in de library zodat ik kan zien of de ESP en de CC1101 met elkaar babbelen. Ik heb 't hele geval inderdaad ook gewoon in de meterkast hangen en hij zendt zonder problemen naar zolder. In Domoticz heb ik 4 buttons gemaakt, low, medium, high en timer en die doen een curl naar http://<ip>/low etc. Dit werkt top.

Tip voor andere kopers van CC1101: check ff of je 'hele' gaatjes krijgt op je board. Ik had enkel halve gaatjes, dit soldeert nogal vervelend en was waarschijnlijk het probleem waarom ik het niet werkend kreeg..


Acties:
  • 0Henk 'm!

  • balk
  • Registratie: januari 2000
  • Laatst online: 03-11 10:59
quote:
jvdmast schreef op donderdag 6 juli 2017 @ 14:11:
[...]

Inderdaad, meerdere keren wilde het bij mensen niet werken op een wemos waarna het wel op een andere esp8266 variant werkte. Waar dat aan ligt heb ik nog niet kunnen ontdekken. Ik heb zelf nog niet de moed gehad om een wemos te bestellen puur om dit uit te zoeken. (want verder heb ik niet zoveel aan een wemos omdat ik ofwel een nodemcu of de kleine esp01 en esp12f gewend ben)

Het zou iets heel kleins kunnen zijn met de wemos, zoals iets andere pull-up dingen ofzo.
ik heb een oudere en nieuwe Wemos D1 mini hier liggen, en een NodeMCU. Ik zal, als ik de draadjes aan de sensor met halve gaten heb gesoldeerd, alle drie eens proberen en hier posten wat de resultaten zijn. B)



Ik heb overigens geld terug gevraagd en gekregen voor dit bordje en een nieuwe besteld. Maar, dat duurt weer n weken natuurlijk :( dan eerst maar even zomer vieren :)

balk wijzigde deze reactie 07-07-2017 08:31 (9%)


  • iMars
  • Registratie: augustus 2001
  • Laatst online: 18:06
quote:
ThinkPad schreef op zaterdag 1 juli 2017 @ 14:40:
[...]


[...]

Vandaag is jullie geluksdag :*)

Het is mij gelukt om de HTTP variant die ik hier al eens had gemaakt om te vormen tot een plugin voor ESPEasy _/-\o_

Zie mijn Bitbucket: _P054_Itho.ino en hieronder geplakt als backup.
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
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
138
139
140
141
142
143
144
145
146
//#######################################################################################################
//############################## Plugin 054: Itho ventilation unit 868Mhz remote ########################
//#######################################################################################################

// List of commands:
// JOIN to join ESP8266 with Itho ventilation unit
// LOW - set Itho ventilation unit to lowest speed
// MEDIUM - set Itho ventilation unit to medium speed
// HIGH - set Itho ventilation unit to max speed

// Usage (not case sensitive):
// http://ip/control?cmd=ITHOSEND,join
// http://ip/control?cmd=ITHOSEND,low
// http://ip/control?cmd=ITHOSEND,medium
// http://ip/control?cmd=ITHOSEND,high


//This code needs the library made by 'supersjimmie': https://github.com/supersjimmie/IthoEcoFanRFT/tree/master/Master/Itho
// A CC1101 868Mhz transmitter is needed
// See https://gathering.tweakers.net/forum/list_messages/1690945 for more information

#include <SPI.h>
#include "IthoCC1101.h"
#include "IthoPacket.h"
IthoCC1101 rf;
IthoPacket packet;

#define PLUGIN_054
#define PLUGIN_ID_054         54
#define PLUGIN_NAME_054       "Itho ventilation remote"
#define PLUGIN_VALUENAME1_054 ""
boolean Plugin_054(byte function, struct EventStruct *event, String& string)
{
    boolean success = false;

    switch (function)
    {

        case PLUGIN_DEVICE_ADD:
        {
            Device[++deviceCount].Number = PLUGIN_ID_054;
            break;
        }

        case PLUGIN_GET_DEVICENAME:
        {
            string = F(PLUGIN_NAME_054);
            break;
        }

        case PLUGIN_GET_DEVICEVALUENAMES:
        {
            break;
        }

        case PLUGIN_INIT:
        {
            rf.init();
            //rf.sendCommand(IthoJoin);
            addLog(LOG_LEVEL_INFO, F("CC1101 868Mhz transmitter initialized"));
            success = true;
            break;
        }

        case PLUGIN_WRITE: {

            String tmpString = string;

            String cmd = parseString(tmpString, 1);
            String param1 = parseString(tmpString, 2);


            if (cmd.equalsIgnoreCase(F("ITHOSEND")))
            {

                if (param1.equalsIgnoreCase(F("join")))
                {
                    rf.sendCommand(IthoJoin);
                    addLog(LOG_LEVEL_INFO, F("Sent command for 'join' to Itho unit"));
                    printWebString += F("Sent command for 'join' to Itho unit");
                    success = true;
                }

                if (param1.equalsIgnoreCase(F("leave")))
                {
                    rf.sendCommand(IthoLeave);
                    addLog(LOG_LEVEL_INFO, F("Sent command for 'leave' to Itho unit"));
                    printWebString += F("Sent command for 'leave' to Itho unit");
                    success = true;
                }

                if (param1.equalsIgnoreCase(F("low")))
                {
                    rf.sendCommand(IthoLow);
                    addLog(LOG_LEVEL_INFO, F("Sent command for 'low speed' to Itho unit"));
                    printWebString += F("Sent command for 'low speed' to Itho unit");
                    success = true;
                }

                if (param1.equalsIgnoreCase(F("medium")))
                {
                    rf.sendCommand(IthoMedium);
                    addLog(LOG_LEVEL_INFO, F("Sent command for 'medium speed' to Itho unit"));
                    printWebString += F("Sent command for 'medium speed' to Itho unit");
                    success = true;
                }

                if (param1.equalsIgnoreCase(F("high")))
                {
                    rf.sendCommand(IthoFull);
                    addLog(LOG_LEVEL_INFO, F("Sent command for 'full speed' to Itho unit"));
                    printWebString += F("Sent command for 'full speed' to Itho unit");
                    success = true;
                }

                if (param1.equalsIgnoreCase(F("timer1")))
                {
                    rf.sendCommand(IthoTimer1);
                    addLog(LOG_LEVEL_INFO, F("Sent command for 'timer 1' to Itho unit"));
                    printWebString += F("Sent command for 'timer 1' to Itho unit");
                    success = true;
                }               

                if (param1.equalsIgnoreCase(F("timer2")))
                {
                    rf.sendCommand(IthoTimer2);
                    addLog(LOG_LEVEL_INFO, F("Sent command for 'timer 2' to Itho unit"));
                    printWebString += F("Sent command for 'timer 2' to Itho unit");
                    success = true;
                }       

                if (param1.equalsIgnoreCase(F("timer3")))
                {
                    rf.sendCommand(IthoTimer3);
                    addLog(LOG_LEVEL_INFO, F("Sent command for 'timer 3' to Itho unit"));
                    printWebString += F("Sent command for 'timer 3' to Itho unit");
                    success = true;
                }   

            }
        }

    break;
    }
    return success;
}

HTTP:
http://192.168.6.25/control?cmd=ITHOSEND,join
http://192.168.6.25/control?cmd=ITHOSEND,low
http://192.168.6.25/control?cmd=ITHOSEND,medium
http://192.168.6.25/control?cmd=ITHOSEND,high

MQTT:
mosquitto_pub -t /IthoRemote/cmd -m ithosend,join
mosquitto_pub -t /IthoRemote/cmd -m ithosend,low
mosquitto_pub -t /IthoRemote/cmd -m ithosend,medium
mosquitto_pub -t /IthoRemote/cmd -m ithosend,high

(mijn devicename is 'IthoRemote', kun je instellen via tabje 'Config' in de WebGUI).
Helaas nog niet kunnen ontdekken hoe ik kan zorgen voor terugkoppeling via MQTT.

Ik ben geen C/C++ programmeur, dus het zou kunnen dat er wat bugs in zitten. Uiteraard heb je wel de library van supersjimmie nodig.

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_
Vraagje, ik heb jouw code gebruikt om in Esp Easy MEGA te compilen met Arduino. Dit gaat allemaal goed, geen foutmeldingen. Uploaden en verder configureren.

Als ik op de serialport kijk, zie ik het volgende:
INIT : Booting version: (custom)
INIT : Warm boot #17
FS   : Mounting...
FS   : Mount successful, used 72288 bytes of 2949250
INIT : Free RAM:24856
INIT : I2C
INIT : SPI Init (without CS)
WIFI : AP Mode disabled
WIFI : AP Mode ssid will be IthoEspEasy_0 with address 192.168.4.1
WIFI : Connecting iRouter attempt #1
WIFI : Connected! IP: 10.0.0.101 (IthoEspEasy_0)
CC1101 868Mhz transmitter initialized
MQTT : Connected to broker
Subscribed to: itho/out
WD   : Uptime 0 ConnectFailures 0 FreeMem 22424


So far so good... maar zodra ik een commando geef:
code:
1
2
3
4
http://10.0.0.101/control?cmd=ITHOSEND,join
http://10.0.0.101/control?cmd=ITHOSEND,low
http://10.0.0.101/control?cmd=ITHOSEND,medium
http://10.0.0.101/control?cmd=ITHOSEND,high

Dan komt er Send op de serialport, en crasht de ESP (Wemos Mini D1).

Het enige wat ik in ESPEasy aangepast heb, is m'n WiFi, MQTT en de ITHO enabled. Daarnaast heb ik het met SPI aan en uit geprobeerd, maar alles crasht -O-



  • iMars
  • Registratie: augustus 2001
  • Laatst online: 18:06
@ThinkPad Hoe heb jij je mqtt ingesteld? Want wat ik ook publish, alleen via de url reageert ie.

Edit: veranderd naar OpenHAB MQTT:
mosquitto_pub -u *** -P *** -t '/ithoremote/cmd' -m 'ITHOSEND,high' 

Nu werkt het wel :9

Edit 2:

_/-\o_

iMars wijzigde deze reactie 06-12-2017 22:35 (58%)


  • jodur
  • Registratie: mei 2007
  • Laatst online: 29-10 20:00
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


  • Pascal Saul
  • Registratie: augustus 2001
  • Laatst online: 22:19
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%)


  • martinvdm
  • Registratie: januari 2001
  • Laatst online: 22:09

martinvdm

www.martinvdm.nl

quote:
jodur schreef op vrijdag 2 februari 2018 @ 13:24:
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!
Ik heb deze settings:
http://i66.tinypic.com/2na4pzs.jpg
http://i65.tinypic.com/24njx1f.jpg

Met dit in HA als sensor:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
- platform: mqtt
name: Afzuiging Tijd
state_topic: "/IthoRemote/Fan/Timer"
value_template: "{{value}}"
unit_of_measurement: 's'
- platform: mqtt
name : Afzuiging Snelheid
state_topic: "/IthoRemote/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 %}

En dit als fan:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
platform: mqtt
command_topic: "/IthoRemote/Fan/cmd"
state_topic : "/IthoRemote/Fan/State"
speed_command_topic: "/IthoRemote/Fan/cmd"
speed_state_topic: "/IthoRemote/Fan/State"
state_value_template: "{% if value|float==0 %}S$speed_value_template: "{% if value|float==0 %}S$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: Centrale Afzuiging
speeds:
- low
- medium
- high

martinvdm wijzigde deze reactie 02-02-2018 18:47 (16%)

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


  • martinvdm
  • Registratie: januari 2001
  • Laatst online: 22:09

martinvdm

www.martinvdm.nl

@jodur @balk
Het schakelen gaat goed. Ik zie netjes de
/IthoRemote/Fan/cmd State 1, State 2 of State 3 voorbijkomen in mosquitto. Alleen blijft wel de snelheid en tijd op 'unkown' staan in Home Assistant. Tevens zie ik nog steeds niet de bestaande remote voorkomen in het log, ondanks dat Web log op 4 staat.

Ik heb geen 2e ESPEasy.

/IthoRemote/Fan/State zie ik ook helemaal niet voorbij komen in mosquitto.

EDIT:
Ik heb nu onder devices een Itho Ventilation Remote aangemaakt. Deze heb ik D1 meegegeven en als naam Fan.
http://i63.tinypic.com/2ih5qv4.png

Dit zie ik dan wel netjes in mosquitto voorbij komen.
/IthoRemote/Fan/State 1
/IthoRemote/Fan/Timer 0
/IthoRemote/Fan/LastIDindex 0

Update nu ook de status in HA netjes en ik zie netjes allerlei IDs voorbij komen in het LOG. Dus het lijkt echt de goede kant op te gaan. Ik zie alleen heel veel verschillende IDs voor komen, dus nu nog ff de vraag welk ID is nu de Itho Remote controller.

martinvdm wijzigde deze reactie 02-02-2018 21:50 (68%)

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


  • martinvdm
  • Registratie: januari 2001
  • Laatst online: 22:09

martinvdm

www.martinvdm.nl

Mischien niet de beste foto, maar ik hem ook een Wemos en werkt prima; zit zo aangesloten Incl werkende ontvangende codes van de huidige Remote.
Wemos

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


Acties:
  • 0Henk 'm!

  • MsG
  • Registratie: november 2007
  • Laatst online: 23:59

MsG

Forumzwerver

Mensen hier ook ervaring of dit met Orcon ventilatoren werkt? Ik lees daar een stuk minder over, maar wellicht dat iemand hier al iets mee heeft geprobeerd.

Ik heb in mijn huurwoning deze:

Denk om uw spatiegebruik. Dit scheelt Tweakers.net kostbare databaseruimte! | Groninger en geïnteresseerd in Domotica? Kom naar DomoticaGrunn


Acties:
  • +2Henk 'm!

  • itsme
  • Registratie: februari 2000
  • Laatst online: 20:25
Ik weet niet wie deze plugin voor homebridge geschreven heeft, maar bedankt!

https://github.com/adri/homebridge-itho-cve-eco-rft

Zojuist is hier een nieuwe afzuiging geplaatst, met deze plugin en de daar gelinkte ESP8266 code heb ik dit via homebridge kunnen toevoegen aan homekit _o_



Mocht iemand deze plugin voor homekit willen proberen, zelf even de code downloaden en als developer draaien. De plugin is niet gepubliceerd naar npm.

papa van Emma en Saartje


Acties:
  • 0Henk 'm!

  • Janssuuh
  • Registratie: mei 2018
  • Laatst online: 28-10 22:14
Allen,

Ik volg dit gave project al een aantal maanden...
Zelf krijg ik e.e.a. helaas nog niet helemaal aan de praat en ik verwacht dat dit te maken heeft met mijn type Ventilator.

Allereerst mijn huidige hardware / setup:
- OptimaFlow met ingebouwde RV en CO2 sensor
- Zender met 'auto' en 'timer' stand (536 0150)
- Spider Base zender

- C1101 verbonden aan een Wemos D1 mini
- C1101 verbonden aan een NodeMcu v3 Lua ESP-12E

- Arduino IDE 1.8.5
- CH341SER driver geïnstalleerd
- Board selectie wisselend tussen 'NodeMCU 1.0 ESP-12E' en 'Wemos D1 R2 & mini'

Hiermee ben ik begonnen de sketch (IthoEcoFanRFT) van Klusjesman en Supersjimmie te uploaden.

M.b.v. de posts op dit topic heb ik de programmatuur zover dat op de seriële monitor wordt weergegeven welke knop van de 0150 is ingedrukt;

Zoals te zien hier ook het ID van de zender mee achterhaald.

Inmiddels heb ik in de programmatuur een aantal varianten van de specifieke commands aangepast.

De commando's Low, Medium (Auto) en High werken veelal wel, maar voornamelijk de Timers en de Join functie lijken alleen zoals op de afbeelding opgepakt te worden. Voor het loggen / ontvangen van deze berichten niet zo spannend natuurlijk, maar ik verwacht dat dezelfde commando's verstuurd worden wanneer je gaat sturen.
Aangezien het versturen van commando's tot nu toe volledig genegeerd wordt door de Ventilator ben ik benieuwd of het mogelijk is om de daadwerkelijk gebruikte commando's (door de 0150) weer te geven zijn in de monitor?!


(Bij gebruik van de SpIDer krijg ik vooralsnog überhaupt bijna niks terug.)



(Ik kan een aantal waarden weergeven, maar het daadwerkelijke command / message2 o.i.d. krijg ik niet te pakken!)

Ik heb trouwens ook nog geprobeerd om de programmatuur met het RFTid van de 0150 en van de SpIDer te draaien en te zorgen dat de counter die gebruikt wordt overeenkomt met de waarde die de originele zender op dat moment heeft. Dit in de hoop om zonder te joinen toch (alsof het daadwerkelijk een commando van mijn 0150 zou zijn) de ventilator van stand te veranderen. Helaas zonder resultaat..

Resumé:
- Lezen van de 0150 werkt deels wel, alleen nog niet met de details die ik zou willen
- Lezen van de SpIDer werkt zo goed als niet
- Zenden naar de OptimaFlow werkt totaal niet

Is er iemand die dezelfde zender / ventilator gebruikt en dit wel aan de praat heeft gekregen?

(PS: Ik zou beschikbaar gestelde ESPEasy bins graag uitproberen, maar ga er vanuit dat deze vooralsnog niet geschikt zijn voor de OptimaFlow / 0150 zender?)

  • PTish
  • Registratie: juli 2011
  • Laatst online: 00:29
Gek, ik heb hem aan de D1 gesoldeerd, maar deze is niet beschikbaar in de dropdown. Enig idee waarom?

https://tweakers.net/ext/f/cZisWr6DSNDfEHjt7JhfCNSw/thumb.jpg

Ligt het aan 1 van deze instellingen?

https://tweakers.net/ext/f/MJd9wnCCwVGBZKt7vttaDdvk/thumb.jpg


Edit: Maar even selecteerbaar gemaakt via de inspector. Nu werkt alles.

PTish wijzigde deze reactie 25-07-2018 21:26 (7%)


  • jobr
  • Registratie: januari 2009
  • Laatst online: 21:36
rmeertens schreef op zaterdag 10 februari 2018 @ 17:31:
Hallo allen,

Net ESPEasyItho plugin geinstalleerd op mijn esp met IP=192.168.1.144. Hij doet het pefect. Thaks Jodur!

Nu wil ik hem bedienen vanuit Domoticz en wanneer ik de RF Remote(orignele afstandbedining van de FAN) indruk moet de status in domoticz geupdate worden. Ik heb het geprobeerd met een domoticz "Selector switch". Helaas krijg ik het laatste deel(het updaten) niet aan de gang...

Uitleg:
De aan Domoticz "Selector switch" met IDX 83 heeft de volgende configuratie:
Lvl Action
0 http://192.168.1.144/control?cmd=STATE,0
10 http://192.168.1.144/control?cmd=STATE,1
20 http://192.168.1.144/control?cmd=STATE,2
30 http://192.168.1.144/control?cmd=STATE,3
40 http://192.168.1.144/control?cmd=STATE,4
50 http://192.168.1.144/control?cmd=STATE,13
60 http://192.168.1.144/control?cmd=STATE,23
70 http://192.168.1.144/control?cmd=STATE,33

Het bedienen werkt.

Ik zit met een probleempje dat wanneer ik de RF Remote indruk de status van mijn Selector Switch niet bijgewerkt wordt. (Er komt undefined te staan)

Na een analyze zie ik dat de EspEasy netjes een http connectie maakt:
/json.htm?type=command&param=udevice&idx=83&svalue=3;0 maar helaas reageert de Selector Switch van Domoticz niet op svalue=3, maar wel op 30(Moet kennelijk gelijk zijn aan de switch level). Dit heb ik getest met CURL.

Helaas kan ik de in Domoticz de switch levels(10,20,30 etc) niet aanpassen, deze worden namelijk automatisch gegenereerd door Domoticz. Wanneer ik deze kon veranderen naar 0,1,2,3,4,13,23,33 (Dit zijn de states die vanuit ESPEasy gestuurd worden)dan had het gewerkt.

Heeft iemand een tip?

Alvast bedankt.

Groetjes,

Rick
Het is mij volgens mij gelukt om de espeasy variant van @jodur werkend te krijgen met Domoticz waarbij ook de status in Domoticz wordt bijgewerkt zonder loops e.d. te krijgen.
De eerder aangedragen methode met het gebruiken van formules werkt niet voor de timer acties omdat deze een heel andere nummering heeft.


Hiervoor het ik het volgende gedaan:

Op 1 of andere manier blijken de rules in de espeasy binairy van jodur niet goed te werken. Rules worden uitgevoerd terwijl dat niet zou moeten. Daarom eerst de plugin van jodur met de huidige espeasy gecompileerd. Dan werken ze wel goed.

- huidige development branch van espeasy gepakt en deze eerst compileren in Arduino IDE
(dit moet je eerst op orde hebben; src dir renamen naar ESPEasy en uit lib folders kopieren naar Arduino IDE librairies)
- daarna itho lib vanuit jodur github in libraries van Arduino IDE gekopieerd
- _P145_Itho.ino gekopieerd naar ESPEasy dir (die eerder al is gecompileerd)
daarin de volgende 4 regels aanpassen

code:
1
2
3
4
          addFormSubHeader(F("Remote RF Controls"));
          addFormTextBox( F("Unit ID remote 1"), F("PLUGIN_145_ID1"), PLUGIN_145_ExtraSettings.ID1, 23);
          addFormTextBox( F("Unit ID remote 2"), F("PLUGIN_145_ID2"), PLUGIN_145_ExtraSettings.ID2, 23);
          addFormTextBox( F("Unit ID remote 3"), F("PLUGIN_145_ID3"), PLUGIN_145_ExtraSettings.ID3, 23);


- dan opnieuw compileren en uploaden naar esp
- in domoticz een dummy selector switch aanmaken:
VentilatorDomo

Uiteraard even je eigen ipadres van espeasy goed zetten.

- in ESPEasy de plugin configureren
(vergeet niet bij Hardware on Init spi uit te zetten en onder "I2C Interface" alles op None te zetten)
(geen Domoticz controller toevoegen)
https://tweakers.net/ext/f/D2XMjE1uZF96VBOubbNAETT4/thumb.jpg

Uiteraard bij Unit ID remote 1 de ID van je remote invullen en bij 1st GPIO de juiste pin kiezen waar het interrupt draadje aan vast zit.

- in ESPeasy rules aanzetten en de volgende gebruiken:
Rules set 1:

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
on Itho#State do
  // Standby
  if [Itho#State] = 0 and [dummyvar1#laststate] <> 0 and [Itho#LastIDindex] <> 0
       event UpdateDomoticz
  endif
 
  // Laag
  if [Itho#State] = 1 and [dummyvar1#laststate] <> 1 and [Itho#LastIDindex] <> 0
    event UpdateDomoticz
  endif

  // Auto (of Medium)
  if [Itho#State]= 2 and [dummyvar1#laststate] <> 2 and [Itho#LastIDindex] <> 0
    event UpdateDomoticz
  endif

  // Hoog
  if [Itho#State]=3 and [dummyvar1#laststate] <> 3 and [Itho#LastIDindex] <> 0
    event UpdateDomoticz
  // 
  endif

  // Max
  if [Itho#State]=4 and [dummyvar1#laststate] <> 4 and [Itho#LastIDindex] <> 0
    event UpdateDomoticz
  endif

  // Hoog voor 10 min
  if [Itho#State]=13 and [dummyvar1#laststate] <> 13 and [Itho#LastIDindex] <> 0
    event UpdateDomoticz
  endif

  // Hoog voor 20 min
  if [Itho#State]=23 and [dummyvar1#laststate] <> 23 and [Itho#LastIDindex] <> 0
    event UpdateDomoticz
  endif

  // Hoog voor 30 min
  if [Itho#State]=33  and [dummyvar1#laststate] <> 33 and [Itho#LastIDindex] <> 0
    event UpdateDomoticz
  endif

  if [Itho#Timer] = 0 and  [dummyvar1#lasttimer] = 2 and [Itho#LastIDindex] = 0 // if timer has ended, reset State
    event UpdateDomoticz
  endif


  TaskValueSet 2,1,[Itho#State]
  TaskValueSet 2,2,[Itho#Timer]

endon



Rules set 2:

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
on UpdateDomoticz do
  // Standby
  if [Itho#State] = 0 
       SendToHTTP 192.168.1.159,8080,/json.htm?type=command&param=udevice&idx=138&nvalue=0&svalue=80
  endif
 
  // Laag
  if [Itho#State] = 1 
       SendToHTTP 192.168.1.159,8080,/json.htm?type=command&param=udevice&idx=138&nvalue=1&svalue=20
  endif

  // Auto (of Medium)
  if [Itho#State]= 2 
       SendToHTTP 192.168.1.159,8080,/json.htm?type=command&param=udevice&idx=138&nvalue=1&svalue=10
  endif

  // Hoog
  if [Itho#State]=3 
       SendToHTTP 192.168.1.159,8080,/json.htm?type=command&param=udevice&idx=138&nvalue=1&svalue=30
  // 
  endif

  // Max
  if [Itho#State]=4 
       SendToHTTP 192.168.1.159,8080,/json.htm?type=command&param=udevice&idx=138&nvalue=1&svalue=40
  endif

  // Hoog voor 10 min
  if [Itho#State]=13 
       SendToHTTP 192.168.1.159,8080,/json.htm?type=command&param=udevice&idx=138&nvalue=1&svalue=50
  endif

  // Hoog voor 20 min
  if [Itho#State]=23 
       SendToHTTP 192.168.1.159,8080,/json.htm?type=command&param=udevice&idx=138&nvalue=1&svalue=60
  endif

  // Hoog voor 30 min
  if [Itho#State]=33 
       SendToHTTP 192.168.1.159,8080,/json.htm?type=command&param=udevice&idx=138&nvalue=1&svalue=70
  endif

endon



Uiteraard even je eigen IDX en ipadres en poort van domoticz goed zetten.

Door Serial log Level in Advanced op Debug te zetten kun je zien wat er gebeurd.

En dan moet het werken en wordt de status ook in Domoticz aangepast als je op de remote drukt.
Ik heb het nog niet zo lang draaien dus weet niet hoe stabiel de huidige development branch is. Ik heb die van vandaag gebruikt.

Op deze manier worden de selector actions niet gestart als je de remote gebruikt. Een eventueel device script wel. En als je in Domoticz een selectie maakt dan worden de selector actions wel gebruikt.

edit: rules aangepast en plaatjes espeasy ivm extra dummy var. Nu werkt het na behoren.

jobr wijzigde deze reactie 17-12-2018 18:24 (15%)
Reden: rules aangepast


  • Ngai
  • Registratie: oktober 2007
  • Laatst online: 29-10 19:29
Ik heb het nu werkend met Blynk / IFTTT / Google Assistent en kan dus nu via de app of met spraak de ventilatie aan of uit zetten.

Iets aangepaste versie/library van: https://github.com/TechApprentice/IthoEcoFanRFT5modeESP
Deze had minder dingen eromheen dan de andere, dus was wat makkelijker opzetten. Ga binnenkort (opnieuw) proberen om het op die van incmve werkend te krijgen, maar had daar veel problemen met WDT crashes toen ik Blynk wilde gebruiken, heb het vermoeden dat het te maken heeft met wifi en loop.

Arduino IDE 1.8.8
CC1101 868Mhz transmitter
NodeMCU ESP8266 (ESP-12E) met core 2.5.0

Blynk app: https://play.google.com/store/apps/details?id=cc.blynk
IFTTT / Google Home Assistent

BLYNK UITLEG

In BLYNK kopieer je de AUTH token naar de .ino file “AUTH”.

In BLYNK maak je buttons aan met “VIRTUAL PINS” die zijn dan eigenlijk gelinkt naar functies die draaien op de NodeMCU. Maak een PUSH button aan met values 0 - 1, zet hem op V5 en noem hem HIGH.

In de .INO zie je:
code:
1
2
3
4
5
6
BLYNK_WRITE(V5) // V5 is the number of Virtual Pin
{
   if (param.asInt() == 1){
      sendFullSpeed();
   } 
}


De BLYNK app roept deze functie aan. Zo zet je alle buttons / virtual pins (3 (low), 4 (medium) , 5 (high), 6(timer)) op.



In Arduino IDE installeer je de Blynk library!

IFTTT / Assistent

In IFTTT (If This Then That) gebruik je WEBHOOKS.
Daarin gebruik je als URL: http://139.59.206.133/JOUWAUTHTOKEN/update/V5?value=1
Method = GET
Content Type = application/json

Die URL roept de BLYNK “CLOUD” aan en update the value naar 1 waardoor sendFullSpeed(); zal activeren. Als je IFTTT weer gekoppeld hebt aan je Google Assistent kun je het met spraak aansturen. “TURN BOX ON” of “TURN BOX OFF” werkt het beste als je assistent op Nederlands staat ingesteld (IFTTT is namelijk alleen nog in het Engels en dus niet optimaal).



DE .INO

Hier staat de code die ik gebruikt heb:
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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#define BLYNK_PRINT Serial

#include <SPI.h>
#include "IthoCC1101.h"
#include "IthoPacket.h"
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

//BLYNK//
char auth[] = "JOUWTOKEN";

// WiFi Definitions //
char ssid[] = "JOUWSSID";
char pass[] = "JOUWPASSWORD";

IthoCC1101 rf;
IthoPacket packet;
WiFiServer server(80);

void setup() 
{

  Serial.begin(115200);
  delay(10);
  Serial.println("");
  Serial.println("ESP8266 remote for Itho ventilation unit");
  Serial.println("Setting up CC1101 module...");
  rf.init();
  Serial.println("CC1101 transmitter ready!");
  Serial.println("");
  sendRegister();
  Serial.println("");

  Blynk.begin(auth, ssid, pass);
  
  server.begin();
  // Print the IP address
  Serial.print("Use this URL to connect: ");
  Serial.print("http://");
  Serial.print(WiFi.localIP());
  Serial.println("/");
}


// BLYNK VIRTUAL WRITE //
// SET THESE VIRTUAL PINS IN THE APP AS "PUSH" BUTTON
BLYNK_WRITE(V6) // V6 is the number of Virtual Pin
{
   if (param.asInt() == 1){
      //Blynk.virtualWrite(V6, 0);    // Update app with status, only need this when using toggle switch
      sendTimer();
   } 
}
BLYNK_WRITE(V5) // V5 is the number of Virtual Pin
{
   if (param.asInt() == 1){
      sendFullSpeed();
   } 
}
BLYNK_WRITE(V4) // V4 is the number of Virtual Pin
{
   if (param.asInt() == 1){
      sendMediumSpeed();
   } 
}
BLYNK_WRITE(V3) // V3 is the number of Virtual Pin
{
   if (param.asInt() == 1){
      sendLowSpeed();
   } 
}


void loop() 
{
  Blynk.run();
  
  // Check if a client has connected
  WiFiClient client = server.available();
  if (!client) {
    return;
  }

  // Read the first line of the request
  String req = client.readStringUntil('\r');
  Serial.println(req);
  client.flush();

  // Match the request
  const char* val;

  if (req.indexOf("/low") != -1) {
    val = "low";
    sendLowSpeed();
  }
  else if (req.indexOf("/medium") != -1) {
    val = "medium";
    sendMediumSpeed();
  }
  else if (req.indexOf("/high") != -1) {
    val = "high";
    sendFullSpeed();    
  }
  else if (req.indexOf("/timer") != -1) {
  val = "timer";
    sendTimer();    
  }
  client.flush();

  // Web Panel //
  client.println("HTTP/1.1 200 OK");
  client.println("Content-Type: text/html");
  client.println(""); //  do not forget this one
  client.println("<!DOCTYPE HTML>");
  client.println("<html>");
 
  client.print("Fan is now: ");
  client.print(val);
 
  client.println("<br><br>");
  client.println("<a href=\"/timer\"\"><button>Timer </button></a>");
  client.println("<a href=\"/low\"\"><button>Low </button></a>");
  client.println("<a href=\"/medium\"\"><button>Medium </button></a>");
  client.println("<a href=\"/high\"\"><button>High </button></a><br />");  
  client.println("</html>");
 
  delay(1);
  Serial.println("Client disconnected");
}

void sendRegister() {
  Serial.println("Sending command 'join' to Itho ventilation unit...");
   rf.sendCommand(IthoJoin);
   Serial.println("Command 'join' has been sent!");
}

void sendLowSpeed() {
   Serial.println("Sending command 'low' to Itho ventilation unit...");
   rf.sendCommand(IthoLow);
   Serial.println("Command 'low' has been sent!");
}

void sendMediumSpeed() {
   Serial.println("Sending command 'medium' to Itho ventilation unit...");
   rf.sendCommand(IthoMedium);
   Serial.println("Command 'medium' has been sent!");
}

void sendFullSpeed() {
   Serial.println("Sending command 'fullspeed' to Itho ventilation unit...");
   rf.sendCommand(IthoFull);
   Serial.println("Command 'fullspeed' has been sent!");
}

void sendTimer() {
   Serial.println("Sending command 'timer' to Itho ventilation unit...");
   rf.sendCommand(IthoTimer1);
   Serial.println("Command 'timer' has been sent!");
}


Acties:
  • +2Henk 'm!

  • vso
  • Registratie: augustus 2001
  • Laatst online: 22:21

vso

raap voor zijn recht

gitaarwerk schreef op zondag 31 maart 2019 @ 11:37:
Ik krijg deze week een nieuwe itho box. En zag dit topic. Ik kan wel solderen, maar heb niet echte electronica kennis. Is dit project voor mij te doen? (Ik heb multimeters, e.d.)
Lijkt me namelijk wel heel tof om via een kinetische muurbediening de gehele badkamer 'aan te zetten'

Ik vraag me overigens af of de itho niet met een knop te bedienen is en daar een fibrato binary sensor in te hacken valt. Is niet echt een RF project natuurlijk :-)
je moet ergens beginnen :) en als je het aandurft een batterij 2 draadjes en een lamp aan elkaar te verbinden en het verschil weet tussen + en - ben je al verder dan menig persoon ;)

En als je deze post niet afschrikt dan komt het wel goed :) en het gaat uiteindelijk om 8 draadjes verbinden tussen 2 printplaatjes .. net lego, je begint eerst met soldeerloos .. en als alles werkt kan je alles op zijn plek solderen.

Maar probeer het eind goed te omschrijven, en werk alles terug in blokjes ..
je start met 2 blokken
- ontvanger
- zender (nog te bouwen)
vervolgens ga je de zender opdelen in 2 blokjes
-- de "knop" (die in de badkamer hangt?)
-- de zend unit (de werkelijke bediening)

En zo ga je steeds meer kleiner "beschrijven",

het bouwen kan simpel zonder (teveel) soldeer werk hiervoor heb je genoeg aan


- de esp,
- USB to serial adapter (om te progammeren)
- c1150 of c1101 zend unit
- usb soldeer bout (paar euro) (zit vaak wat soldeer spul bij)
- paar "knopjes" non-locking (indrukken = aan, los = uit)
- telefoon oplader heb je vast genoeg in huis + kabels)

Solderen heb je nodig om eventueel pinnetjes vast/lost te solderen en de breadboard kan je mee testen ..

Voor de rest zijn er genoeg youtube video's met esp,arduino projecten hoe je de (github) code die in dit topic staat toepast.

Searching internet is like drinking from a fire hydrant


  • TerrorSource
  • Registratie: januari 2011
  • Laatst online: 23:54
Ik heb vorig jaar een klant-en-klare module gekocht van iemand op Marktplaats(die ik nu dus niet meer terug kan vinden |:( )

De module valt regelmatig van de wifi af, nu dacht ik te zoeken naar een update maar ik weet niet welke ik moet hebben :/

Als in de webpagina erbij pak zie ik dit:
https://tweakers.net/ext/f/pDI1iTPN7E9txEr6S1FORjnm/thumb.png

Onder "Tools" heb ik wel een "Firmware" knop waarbij ik kan updaten maar ik kan nergens een bron vinden.

Onder "Help" kom ik uit bij een Google Drive met een txt bestandje met hoe ik de remote via wifi kan aansturen. Er staat wel een naam bij maar ik weet niet of ik die hier mag neerzetten.

Hoop dat jullie mij op weg kunnen helpen.

TerrorSource wijzigde deze reactie 06-07-2019 11:18 (16%)

Tweakers V&A Ads
oa. Raspberry Pi 3b + 7Inch Touch Screen & Domotica


  • kmf
  • Registratie: november 2000
  • Niet online
Momenteel ook werkend gekregen. De zender is gekoppeld aan mijn 2 ITHO fans (2 badkamers+2 wc's). Die worden tegelijkertijd aangesproken zodat er 700m3/h afgezogen kan worden op z'n max.

De handleiding hier gebruikt: https://docs.google.com/d...YiHDEwyScqhsPkJHGGYs-/pub

Met de firmware van https://github.com/jodur/ESPEASY_Plugin_ITHO

Wel een kanttekening, in de howto stond de 6 - GDO2 niet goed/onduidelijk gemapped. Deze moet bij de ESP op GPIO10/D12 wil je de rest van de howto volgen.
Hiermee kan de ID van de afstandsbediening wel gemapped worden. Truuk is constant op de afstandsbediening drukken zodat je een reeks van dezelfde ID krijgt.

Met de home assistant instellingen hier
jodur in "DIY: Itho ventilatie aansturen via 868Mhz transmitter"

Kan home assistant ingesteld worden. Met een paar mitsen: 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" moet aangepast worden naar de topics zoals in de howto beschreven.


Ik heb ook ipv state 3, state 13 ingevuld in de config zodat HIGH enkel de timer aanzwengelt.


Vervolgens in NODE-RED de ventilatie geautomatiseerd.


(ik deel deze maar niet, omdat er teveel custom software en code in zitten)

De klimaatgegevens worden middels zigbee en mqtt opgenomen. En adhv regels besloten welke modus aangezwengeld moet worden.

De afstandsbediening bij de douche kan nog steeds gebruikt worden om te overrulen indien nodig. Zo ook Home Assistant.

One thing's certain: the iPad seriously increases toilet time.


  • Denman91
  • Registratie: oktober 2017
  • Laatst online: 25-10 11:56
aller eerst super tof dat er zovele mensen bezig zijn met dit toppic.
ik ben onlangs verhuisd en heb een nieuw itho ventilatiesysteem. Ik heb een RFT met artikelnummer 5360150.

De ventilatie heeft een ingebouwde CO2 sensor. ik kan de ventilatie op 2 standen zetten, 3 timers instellen (10, 20 en 30min) of op automatisch.
Kan ik al deze functies ook in Home assistant krijgen? Dus ook de automatische functie.

En is het mogelijk om zowel home assistant als de Afstandbediening te gebruiken? Zodat als je via de ab een stand instelt deze ook in home assistant aangepast word. en als de ventilatie automatisch aan gaat dit ook doorgezet word in home assistant?

Denman91 wijzigde deze reactie 18-09-2019 10:17 (16%)


  • hiker1982
  • Registratie: maart 2009
  • Laatst online: 09-11 11:49
jeroenk86 schreef op maandag 23 september 2019 @ 21:18:
[...]


Ik liep vanavond tegen hetzelfde probleem aan. Bleek de CC1101 niet correct aangesloten. Mogelijk dat dit bij jou ook het geval is?
Dankjewel voor het testen.
Zou je misschien kunnen delen hoe je de CC1101 hebt aangesloten op de NodeMCU?
Ik heb het schema gebruikt zoals beschreven in deze handleiding:
https://docs.google.com/d...YiHDEwyScqhsPkJHGGYs-/pub




@jobr Dankjewel voor het meedenken. Ik ga jouw tips ook meenemen. _/-\o_

  • Speedy-Andre
  • Registratie: maart 2002
  • Laatst online: 00:26

Speedy-Andre

Satio-X10-SxS-ZL-XA



Goud van oud, no problemo :P

PVoutput oost west, zuid best! Stookt met 2x Tosh Daiseikai 8 3,5kW, SWW Atlantic Explorer 3 200l. Gasloos sinds aug 2016 Sinds 6-11-2018 5590Wp


  • hiker1982
  • Registratie: maart 2009
  • Laatst online: 09-11 11:49
Bart1992 schreef op zondag 29 september 2019 @ 17:33:
Ik probeer inmiddels ook mijn Itho ( eco ) aan de praat te krijgen met een nodeMCU v3 icm cc1101.

Alles lijkt te werken, echter reageert de Itho nergens op en krijg ik hem niet gekoppeld....

De ESP is geconfigureerd zoals in de handleiding : https://docs.google.com/document/

Ik heb alle GPIO pinnen geprobeerd ( bekabeling 5x gecheckt, en ook ingekort naar 3 cm ) maar krijg hem niet gekoppeld met mijn Itho fan, ook zie ik geen ID's voorbij komen wanneer ik de originele afstandbediening gebruik ( zoals meer mensen in dit forum )

Ik heb de files van Jodur geflashed, en ik heb de files van klockie86 geprobeerd maar beide geven hetzelfde resultaat.

Als ik in de log van de ESP kijk lijkt het alsof de CC1101 het doet, maar ik heb hier mijn vraagtekens bij....

[...]


Heeft iemand enig idee wat hier fout kan gaan, of wat ik nog kan proberen?
Hi Bart, Ik gebruik op dit moment de bin file van Jodur.
Heb je bij espeasy onder het tabje tools --> advanced de weblog ook op 3 of dev gezet?
Je krijgt dan namelijk meer informatie te zien.




Dit laat zien dat je CC1101 goed wordt gedecteerd, dat is dus in orde.
Extra Settings PLUGIN_145 loaded
CC1101 868Mhz transmitter initialized
MQTT : ClientID ITHO connected to broker
Subscribed to: /ITHO/#
WD : Uptime 0 ConnectFailures 0 FreeMem 20888
WD : Uptime 1 ConnectFailures 0 FreeMem 20792
WD : Uptime 1 ConnectFailures 0 FreeMem 20608
Kun je ook aangeven wat voor Itho fan je hebt?
Ikzelf heb een HRU ECO 300 Duo zone.
Het pairen gaat dan iets anders dan in de handleiding : https://docs.google.com/document/ staat.

In die handleiding staat namelijk dat je de fan even uit moet zetten en dan 2 minuten de tijd hebt.
Dit werkte bij mij niet totdat ik er achter kwam dat er een paneeltje op mijn fan zit waar ik hem op pairen kon zetten.
Ik zag toen een timer van 2 minuten lopen. Tijdens die timer heb ik hem gepaired en toen werkte het.

hiker1982 wijzigde deze reactie 30-09-2019 15:05 (34%)


  • hiker1982
  • Registratie: maart 2009
  • Laatst online: 09-11 11:49
etienne001 schreef op vrijdag 4 oktober 2019 @ 10:30:
Ik gebruik hier de versie van Jodur op een nodemcu.

State 4 werkt bij mij wel, en ik kan zeggen dat die ventilator behoorlijk kabaal begint te maken op deze "boost" stand. Als ik de hoogste stand op de knop gebruik dan is dat nog zacht vergeleken met stand 4.

Helaas kan ik weer niet mijn knop uitlezen. Het lijkt wel het een of ander :)
Op zich niet erg daar ik de ventilator stuur met de cc1101 en een Xiaomi aqara vochtsensor op de badkamer.
Daar gebruik ik hem ook voor.
Heb een zigbee2mqtt stickje gekocht via een tweaker hier.
Heb nu mijn ikea tradfri motion sensoren en de xiaomi humidity sensoren in domoticz staan.

Wanneer de humidity sensor in de badkamer boven een bepaalde waarde komt --> afzuiging op hoog.
In de toilet een motion sensor die het licht automatisch aan laat gaan + afzuiging (die 5 minuten na uitgaan verlichting nog even door blijft gaan) op hoog..... speciaal voor gasten die van pittig+gekruid eten houden :P of die gewoon ontzettend meuren als ze gescheten hebben :+

Ik ga nu even op zoek om te kijken of iemand de CO2 waardes kan uitlezen van de draadloze zender.
Als dit überhaupt wordt uitgezonden door de zender.

  • hiker1982
  • Registratie: maart 2009
  • Laatst online: 09-11 11:49
jeroenk86 schreef op maandag 7 oktober 2019 @ 09:42:
Thanx voor de tip.
Ik zie echter niet waarom dit leidt tot een aantal onbekende ID's. Deze functie koppeld namelijk de het ID terug van de gebruikte afstandsbediening.
Wat bedoel je precies met onbekende ID's?
Bedoel je dat je een lijst met heel veel ID's krijgt te zien zoals dit?




Zo ja, dan is dit waar je naar op zoek naar bent zodra je op de afstandsbediening hebt gedrukt.
3x hetzelfde ID achter elkaar.

Pagina: 1


Apple iPhone 11 Nintendo Switch Lite LG OLED C9 Google Pixel 4 FIFA 20 Samsung Galaxy S10 Sony PlayStation 5 Tesla

'14 '15 '16 '17 2018

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2019 Hosting door True