Niko home control werkt ook met een lus voor de schakelaars. Van horen zeggen wel. Wie weet zijn het zelfs dezelfde schakelaars.
Wel knap dat het al draaiende is met de ESP. Zeer cool.
Niko home control werkt ook met een lus voor de schakelaars. Van horen zeggen wel. Wie weet zijn het zelfs dezelfde schakelaars.
Wel knap dat het al draaiende is met de ESP. Zeer cool.
ja, niko gebruikt ook een lus, heb het even gevraagd aan iemand die het heeft
wel meerdere lussen per ruimes, maar ik neem aan dat dit ook wel het geval is bij dobiss
langs ene kant toch een opluchting , stel dat ooit de hardware van doboss de geest geeft
en , canbus is echt instant!! ik kan nu via drukknoppen andere dingen schakelen in huis, ik heb een paar wifi led strips, deze kon ik alleen eerst bedienen via conbee en/of google assistant
nu dus ook met drukknoppen … dan kan ik op een paar plaatsen die draadloze ikea schakelaartjes wegdoen , en wat tweede fucnties inzetten
Hey allemaal, ik ben nog wat nieuw in HA. Ik heb een vraagje. Voor het installeren van dobiss2mqtt moet je deze toevoegen via " add-on repositories"? Alvast bedankt voor het antwoord.
Mvg Giel
Voor de canbus geinterresseerden:
Je moet mijn github versie niet meer nemen, de code is fixed in de canbus branch van : danielschramm:canbus , dus je kan deze terug nemen , de fout die ik had gevonden met onze dobiss extended can_id’s is er nu uit
Wiring en geupdate docs met ext_id :
can id code is dus aangepast, nu zijn het juiste waarden, we moeten dus ook can ext op true zetten, hieronder mijn volledige voorbeeld code van esphome
Maar ik stuit nog op een probleem, zoals je al weet, de drukknoppen staan NIET op de canbus, dus we moeten een dummy programmatie aanmaken via de dobiss software, deze programmatie pas je toe aan een drukknop, bv toggle functie ofzo, we lezen de programmatie uit op de canbus, en we kunnen dus een service in HA sturen… werkt allemaal goed…
Maar ik heb gemerkt, dat 1 x snachts op een bepaald tijdstip, mijn wifi led aangaat, ik heb een vermoeden dat dan alles statussen terug op de canbus worden gezet, waardoor weer een toggle actie plaatsvind
Hoe kunnnen we dit fixen? iemand een idee?
eventueel een idee :
stel dat het altijd op een bepaald tijdstip snachts is, dan kunnen we de canbus messages bv negeren op een bepaald tijdstip … ik heb vandaag de logging eens aangezet, dus morgen weet ik wat er gaande was op dat specifiek uur …
een extra binary sensor maken in esp, en deze schakelen als effectief een programma aan/uit gezet gaat worden via een drukknnop (state change), op basis van deze binary sensor state kunnen we een service starten…
maar is weeral extra code/entities …
Geen van bovenstaande 2 ideen staan me aan eigenlijk, het moet toch makkelijker kunnen? anyway, hierbij mijn draft code, die op zich werkt, net op dat 1 specifiek tijdstip na
esphome:
name: esp
platform: ESP8266
board: nodemcuv2
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
manual_ip:
static_ip: !secret esphome_ip
gateway: 192.168.0.1
subnet: 255.255.255.0
# Enable Home Assistant API
api:
password: !secret esphome_password
ota:
password: !secret esphome_password
# Enable logging
logger:
level: VERBOSE
# logs:
# esphome.components.canbus: VERY_VERBOSE
# esphome.components.mcp2515: VERY_VERBOSE
spi:
id: McpSpi
clk_pin: GPIO16
mosi_pin: GPIO5
miso_pin: GPIO4
### example canbus data:
# [13:55:13][D][canbus:062]: received can message ext can_id=0x100ff00 size=4
# [13:55:13][V][canbus:071]: can_message.data[0]=0e
# [13:55:13][V][canbus:071]: can_message.data[1]=57
# [13:55:13][V][canbus:071]: can_message.data[2]=03
# [13:55:13][V][canbus:071]: can_message.data[3]=01
canbus:
- platform: mcp2515
id: my_mcp2515
spi_id: McpSpi
cs_pin: GPIO14
can_id: 4
on_frame:
- can_id: 0x100ff00
can_ext_id: true
then:
- if:
condition:
lambda: 'return x[1] == 0x57 and x[2] == 0x03 and x[3] == 0x00;'
then:
- homeassistant.service:
service: light.toggle
data:
entity_id: light.led_badkamer
- if:
condition:
lambda: 'return x[1] == 0x57 and x[2] == 0x03 and x[3] == 0x01;'
then:
- homeassistant.service:
service: light.toggle
data:
entity_id: light.led_badkamer
## example with binary sensors
# - if:
# condition:
# lambda: 'return x[1] == 0x41 and x[2] == 0x00;'
# then:
# - lambda: |-
# switch(x[3]) {
# case 0x0: id(can_bus_button_1).publish_state(false); break; // button release
# case 0x1: id(can_bus_button_1).publish_state(true); break; // button down
# }
# - if:
# condition:
# lambda: 'return x[1] == 0x41 and x[2] == 0x01;'
# then:
# - lambda: |-
# switch(x[3]) {
# case 0x0: id(can_bus_button_2).publish_state(false); break; // button release
# case 0x1: id(can_bus_button_2).publish_state(true); break; // button down
# }
binary_sensor:
# - platform: template
# name: "CAN Bus Button Bureau"
# id: "can_bus_button_1"
# - platform: template
# name: "CAN Bus Button Eetkamer"
# id: "can_bus_button_2"
# Sensors with general information.
sensor:
# Uptime sensor.
- platform: uptime
name: ESP Uptime
id: uptime_sec
# WiFi Signal sensor.
- platform: wifi_signal
name: ESP WiFi Signal
update_interval: 60s
- platform: template
name: "ESP Uptime Days"
lambda: |-
return (id(uptime_sec).state/60)/60/24;
icon: mdi:clock-start
unit_of_measurement: days
Zou hiervoor geen request eerst passeren om alle statussen nog eens te populeren? Anders zal het eerder time bound zijn lijkt mij. We gaan dan x aantal seconden/minuten (ruime buffer) niet luisteren naar die events. Niet een ideale oplossing, maar we gaan die events op de canbus niet kunnen tegenhouden.
ja, daarom heb ik de logging eens aangezet, zal het morgen weten
mss ziet de data er toch een beetje anders uit, ik weet de inhoud van de eerste array ook niet … geen idee waar die van komt …, die 0E dus
**# [13:55:13][V][canbus:071]: can_message.data[0]=0e**
# [13:55:13][V][canbus:071]: can_message.data[1]=57
# [13:55:13][V][canbus:071]: can_message.data[2]=03
# [13:55:13][V][canbus:071]: can_message.data[3]=01
Ik weet nu al iets meer, dezenacht weer de wifi led aan, weer om 01.30 ±
In de max software heb ik 8 programmas gemaakt voor mijn huis, 2 waren er inactief … (toevallig ook die van de wifiled)
Er zijn dus 2 berichten op de canbus gekomen , niet meer, alleen van de 2 programmas die inactief waren… Ik heb dus een vermoeden dat er iets hardcoded is in de max200 , dat er bv elke nacht om 01.30 een soort van controle is , welke programmas actief zijn …
Degene die op OFF staan, die sturen dan een acknowledge ofzo
Ik ga komende nacht eens een ander programma op OFF zetten, en dan eens kijken of ik die morgen ook in de logging zie verschijnen…
EDIT: ok, als het klopt, wat ik hierboven zeg, dan is de oplossing eigenlijk zeer simpel…!!
Ipv een toggle actie achter de drukknop te zetten, dan zet ik gewoon programma op AAN, er gaat dan evenzeer een canbus message over de lijn … het is dan wel altijd een 01 message … dat spaart dan dan zelfs ook weer een stukje yaml code
EDIT: !!! OMG wat een dwaze fout van mij!! , ik heb een programma actief dat om 01.30 altijd alle lampen uitzet, en deze 2 programmas stonden daar om 1 of ander reden ook in, daarom dus 2 canbus messages!!
dus er is geen probleem om 01.30 snachts
dat is weer een zorg minder!
MCP2515 hier ook aangesloten op een ESP8266 … ik krijg volgende logging binnen
Ik zit met een evolution pro systeem. Fabio met een evolution sx dacht ik.
Hier doe ik relais 4.1 (module 04, id 00) uit:
[14:58:14][D][canbus:062]: received can message ext can_id=0x1fc0402 size=8
[14:58:14][V][canbus:071]: can_message.data[0]=04
[14:58:14][V][canbus:071]: can_message.data[1]=00
[14:58:14][V][canbus:071]: can_message.data[2]=00
[14:58:14][V][canbus:071]: can_message.data[3]=ff
[14:58:14][V][canbus:071]: can_message.data[4]=ff
[14:58:14][V][canbus:071]: can_message.data[5]=64
[14:58:14][V][canbus:071]: can_message.data[6]=ff
[14:58:14][V][canbus:071]: can_message.data[7]=ff
Hier doe ik relais 4.1 (module 04, id 00) aan:
[15:01:27][D][canbus:062]: received can message ext can_id=0x1fc0402 size=8
[15:01:27][V][canbus:071]: can_message.data[0]=04
[15:01:27][V][canbus:071]: can_message.data[1]=00
[15:01:27][V][canbus:071]: can_message.data[2]=01
[15:01:27][V][canbus:071]: can_message.data[3]=ff
[15:01:27][V][canbus:071]: can_message.data[4]=ff
[15:01:27][V][canbus:071]: can_message.data[5]=64
[15:01:27][V][canbus:071]: can_message.data[6]=ff
[15:01:27][V][canbus:071]: can_message.data[7]=ff
Ik krijg dus 8 datavelden binnen.
Als ik een relais op een andere module aan zet:
Relais 6.4 aan: module 6, id 03
[15:11:21][D][canbus:062]: received can message ext can_id=0x1fc0602 size=8
[15:11:21][V][canbus:071]: can_message.data[0]=06
[15:11:21][V][canbus:071]: can_message.data[1]=03
[15:11:21][V][canbus:071]: can_message.data[2]=01
[15:11:21][V][canbus:071]: can_message.data[3]=ff
[15:11:21][V][canbus:071]: can_message.data[4]=ff
[15:11:21][V][canbus:071]: can_message.data[5]=64
[15:11:21][V][canbus:071]: can_message.data[6]=ff
[15:11:21][V][canbus:071]: can_message.data[7]=ff
Volgens mij krijg ik dus voor elke module een andere ext can_id binnen. Het 3de laatste cijfer is de module_nr bij mij.
Dimmer 100%: module 8, id 01
[15:05:10][D][canbus:062]: received can message ext can_id=0x1fc0802 size=8
[15:05:10][V][canbus:071]: can_message.data[0]=08
[15:05:10][V][canbus:071]: can_message.data[1]=01
[15:05:10][V][canbus:071]: can_message.data[2]=01
[15:05:10][V][canbus:071]: can_message.data[3]=ff
[15:05:10][V][canbus:071]: can_message.data[4]=ff
[15:05:10][V][canbus:071]: can_message.data[5]=64
[15:05:10][V][canbus:071]: can_message.data[6]=ff
[15:05:10][V][canbus:071]: can_message.data[7]=ff
Dimmer 50%: module 8, id 01
[15:06:50][D][canbus:062]: received can message ext can_id=0x1fc0802 size=8
[15:06:50][V][canbus:071]: can_message.data[0]=08
[15:06:50][V][canbus:071]: can_message.data[1]=01
[15:06:50][V][canbus:071]: can_message.data[2]=01
[15:06:50][V][canbus:071]: can_message.data[3]=ff
[15:06:50][V][canbus:071]: can_message.data[4]=ff
[15:06:50][V][canbus:071]: can_message.data[5]=32
[15:06:50][V][canbus:071]: can_message.data[6]=ff
[15:06:50][V][canbus:071]: can_message.data[7]=ff
En dat komt perfect overeen met hetgeen ik verwacht:
Gebruikt iemand hier eigenlijk dali modules? Ik zit met enkele lichten die op maat gemaakt zijn en via een dali interface gestuurd moeten worden. Natuurlijk is dat niet voorzien in mijn initiele dobiss systeem en vroeg mij af of het zin heeft een dobiss dali module te steken of het via een casambi interface op te lossen (mits ik dat kan integreren in HA ofc).
Lichten op maat? Nee, heb ik hier niet
Niets speciaal hoor. Zijn enkele aluminium profielen met leds in. Ik had enkele nodig die elk een paar meter lang waren en een met een nogal rare hoek in met moeilijke bevestiging. Ook de aansluitingen moesten lichtjes anders zitten dan standaard (midden van rail/hoek van de rail). Is een belgische firma die ze maakt: https://www.multiline.be/en
Ik vermeld het gewoon dat ik niet de tip krijg om een ander soort lamp te kopen
zou het niet handig zijn moesten we een GitHub repo maken met een beetje alle info erin?
soort van een faq of wiki.
met voorbeelden van config enzo. Daarmee kunnen we anderen snel op weg helpen
goed idee! ik zal eens kijken of ik de komende dagen een onepager kan maken met info van wat ik tot nu toe heb…
eventueel ook met mijn laatste versie van dobiss voor mijn lichten, want ik gebruik de mqtt oplossing niet, kan mss handig zijn voor andere die bv zelf contole willen hebben, dan kan je makkelijk iets aanpassen zonder spobo lastig te vallen
Guys, iemand een oplossing voor mij? ik heb thuis rolluiken, 1 enkele rolluik gebruikt 2 uitgangen van een relays , uitgang 1 => aan => rolluik omhoog , uitgang 2 => aan , rolluik omlaag
ze zijn wel beveiligd in de dobiss relays, ze kunnen niet tegelijk aan, alsook gaan ze via een timer na 2 min ook terug op uit …
nu mijn vraag :
via drukknoppen werk ik via korte en lange functie … , korte functie : relays 1 aan, lange functie = relay 2 aan
hoe kan ik dit beter maken? zonder gebruiik van canbus/HA … kan ik dit via 1 drukknop doen? een toggle actie? probleem is dat dobiss de state niet weet van rolluik , wanneer omhoog, wanneer omlaag? maar moet toch doenbaar zijn ??
Als dat kan, dan kan ik mijn 2de functie van de knoppen voor iets anders gaan gebruiken
@pergola.fabio niet om je jaloers te maken of zo, maar dit is 1 van de recentste toevoegingen in de nieuwe dobiss NXT server. Nu kan je een drukknop configuereren als up/down, en dus precies zoals je vraag is, 1 knop gebruiken om ‘op - stop - neer - stop’ te implementeren. De relais module zelf zal de status bijhouden…
Jammer , maar er moet een manier zijn met de oudere systemen :-). Ik zoek nog even verder uit, desnoods gebruik ik de canbus module wel
Heb jij trouwens een upgrade gedaan naar NXT of heb je een nieuw systeem pas geïmplementeerd?
ik heb net gebouwd, en dus de nieuwe dobiss NXT ineens geimplementeerd
ik had trouwens gedacht om zulks ook in mijn systeem zelf te implementeren. Ik zou vlaggen gebruikt hebben om de laatste richting op te slaan. Is dat iets wat in het oudere systeem ook kan, vlaggen als viruele outputs en condities?