WaveShare RS485-ETH en Fairland Warmtepomp

Pagina: 1
Acties:

Acties:
  • +4 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
Ik ben in het bezit van een Fairland warmtepomp ( IPHCR45) voor mijn zwembad.
Nu zit daar ook een Modbus aansluiting op: RS485 . Omdat ik al erg veel info verzamel en geautomatiseerd heb middels Fibaro/Home Assistant kan de warmtepomp natuurlijk niet ontbreken.
Naar aanleiding van wat posts blijkt een RS485 to ETH adapter het handigst, ik heb immers UTP zat overal en ook naar de warmtepomp lag een loze UTP kabel.
Ik heb de Waveshare RS485 to ETH PoE adapter aangeschaft omdat ik geen trafo's wil en ook geen 5-12V beschikbaar heb standaard en deze nu zijn voeding ontvangt middels PoE. Verder zou hij identiek moeten zijn qua functionaliteit aan bijvoorbeeld de reguliere RS485-ETH of RS485-USB van Waveshare.

Er zijn in ieder geval al tweakers mij voorgegaan met dit type warmtepomp dus we weten dat het mogelijk is, echter krijg ik met geen mogelijkheid data uitgewisseld tussen HA/Node-RED en de Waveshare/warmtepomp.

Volgens de LED's op de Waveshare zelf heeft hij power, is er een link en vindt er data uitwisseling plaats met het aangesloten apparaat (Power/LINK/ACK branden op de Waveshare):
Afbeeldingslocatie: https://tweakers.net/i/dYE1p-aXDIIVs7-C-TE0-EmK-oY=/234x176/filters:strip_icc():strip_exif()/f/image/HCVnXv5pHmfnSXDTUQkduDlo.jpg?f=fotoalbum_medium

Dit lijkt vooralsnog dus in orde. Als ik A/B ook wissel, dan stopt ACK met branden, zet ik ze weer terug dan is er binnen 1 seconde weer een blauwe LED ACK.

@Jazsie en @Invisible_man helpen mij al flink op weg vanuit andere topics maar omdat het probleem aanhoud en ik de andere topics niet wil vervuilen hierbij een eigen topic.

Ik probeer eerst een simpele connectiviteit verificatie voor elkaar te krijgen door 1 status uit te lezen van de pomp.
Wat volgens docu en praktijk bij bijvoorbeeld @Jazsie met eenzelfde type pomp werkt is dat we op 9600 BAUD, 8 Bits, No Parity en 1 Stop Bit zouden moeten contacten richting de warmtepomp.
De Waveshare zelf is ingesteld als TCP Server en simpel Modbus RTU over TCP:

Afbeeldingslocatie: https://tweakers.net/i/P1Zh33AcFio69UCteG-DGnGi1FA=/234x176/filters:strip_icc():strip_exif()/f/image/qGek0ZwDKGZN6UGflym4MRk7.jpg?f=fotoalbum_medium
Afbeeldingslocatie: https://tweakers.net/i/zgcP_Ve1ICkQZrOGIiD9rGSXZ9s=/234x176/filters:strip_icc():strip_exif()/f/image/PFLxzBEm0DMpmWKrkbsEw6xd.jpg?f=fotoalbum_medium
Afbeeldingslocatie: https://tweakers.net/i/58zmzJw8WU2uY_5KZUCpALUGk-0=/234x176/filters:strip_exif()/f/image/N1uKm6GQKwQ0IeH12pDB2HZQ.png?f=fotoalbum_medium

Een telnet vanaf de HA of mijn laptop op port 502 richting de Waveshare geeft een sessie.
De TCP server "luistert" dus wel.
Ik heb geen andere RS485 modules of seriële adapters/apparaten.
Ik probeer nog even met een alternatief Modbus applicatie om te luisteren of ik iets van data voorbij zie komen.

De VirCom tool die Waveshare zelf meelevert op zijn website geeft het device met daarachter Tx/Rx bytes en die lopen op, er vindt dus wel iets van communicatie plaats mij is alleen niet duidelijk of dat mijn eigen sessie is richting de Waveshare of dat het de seriële interface is richting de warmtepomp.

Binnen Node-RED proberen we het volgende:

Afbeeldingslocatie: https://tweakers.net/i/p-mE-HHZ6OTF3794cUpIHYETkgY=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/9oMsv0JlcK9iIkm9ZLy1QAMx.png?f=user_large

Unit-ID 1-16 geprobeerd maar dat eindigt allemaal in:

Afbeeldingslocatie: https://tweakers.net/i/CdXKp5PiKxVU-bYAddBiDL3qLmQ=/234x176/filters:strip_exif()/f/image/lPpUHKQb0dfOHLuBDC6uFtGc.png?f=fotoalbum_medium

Wiki van Waveshare gevolgd: https://www.waveshare.com/wiki/RS485_TO_ETH_(B)#FAQ

Specs van de warmtepomp:
Afbeeldingslocatie: https://tweakers.net/i/wfUNA-bqAUT-hS9-dnbpwLwm2fk=/234x176/filters:strip_exif()/f/image/o9lSfBIftXiqaDpGtVqdOfU4.png?f=fotoalbum_medium

Edit: werkende situatie en uitleg

Met dank aan @xavier_82 moet de instruction time-out op 32ms gezet worden en Multi Host op YES !
De interfaces moet er dus zo uit komen te zien:
Afbeeldingslocatie: https://tweakers.net/i/t_PzWl-GITT_HbcDp_0MV2_7cKQ=/234x176/filters:strip_exif()/f/image/bP0dw3ltn9kOJTXJWNH5SqHU.png?f=fotoalbum_medium
Afbeeldingslocatie: https://tweakers.net/i/P1Zh33AcFio69UCteG-DGnGi1FA=/234x176/filters:strip_icc():strip_exif()/f/image/qGek0ZwDKGZN6UGflym4MRk7.jpg?f=fotoalbum_medium

Vanaf hier werd het mogelijk om direct een Modbus-read actie uit te voeren vanuit Node-RED of vanuit HA:

Node-RED voorbeeld flow:
code:
1
[{"id":"47aac878af8408e7","type":"function","z":"adc806f97bbc891e","name":"On/Off state","func":"var payload = msg.payload;\nmsg.description = \"Status\";\nmsg.topic = \"status\";\n\nnode.status({ fill: \"blue\", shape: \"ring\", text: msg.description + \":\" + payload });\n\nmsg.payload.status = payload;\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":550,"y":100,"wires":[["7ee64b1031e86e56"]]},{"id":"09406db3284879cf","type":"modbus-read","z":"adc806f97bbc891e","d":true,"name":"On/Off state","topic":"","showStatusActivities":false,"logIOActivities":false,"showErrors":false,"showWarnings":true,"unitid":"1","dataType":"Coil","adr":"0","quantity":"1","rate":"10","rateUnit":"s","delayOnStart":false,"startDelayTime":"","server":"d2d0dc5aed5a7ca9","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"x":190,"y":100,"wires":[["9f511b1634141e95"],[]]},{"id":"9f511b1634141e95","type":"function","z":"adc806f97bbc891e","name":"MSG","func":"if (msg.payload[0] == 0) {\n    msg.payload = \"Off\";\n}\nelse if(msg.payload[0] == 1) {\n    msg.payload = \"On\";\n}\nelse {\n    msg.payload = \"Unknown\";\n}\n\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":370,"y":100,"wires":[["47aac878af8408e7"]]},{"id":"7ee64b1031e86e56","type":"mqtt out","z":"adc806f97bbc891e","name":"state","topic":"zwembad-wp/heatpump-state/","qos":"0","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"9238a86eed8ec7ac","x":790,"y":100,"wires":[]},{"id":"d2d0dc5aed5a7ca9","type":"modbus-client","name":"ZwembadHeatpump-RS485","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":true,"queueLogEnabled":false,"failureLogEnabled":true,"tcpHost":"192.168.166.29","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","serialAsciiResponseStartDelimiter":"0x3A","unit_id":"","commandDelay":"1","clientTimeout":"10000","reconnectOnTimeout":true,"reconnectTimeout":"20000","parallelUnitIdsAllowed":true,"showErrors":true,"showWarnings":true,"showLogs":true},{"id":"9238a86eed8ec7ac","type":"mqtt-broker","name":"Mosquitto","broker":"192.168.166.10","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"autoUnsubscribe":true,"birthTopic":"zwembad-wp","birthQos":"0","birthRetain":"false","birthPayload":"","birthMsg":{},"closeTopic":"zwembad-wp","closeQos":"0","closeRetain":"false","closePayload":"","closeMsg":{},"willTopic":"zwembad-wp","willQos":"0","willRetain":"false","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""}]


modbus-read node gegevens (let op, server naam heb ik later aangepast):
Afbeeldingslocatie: https://tweakers.net/i/p-mE-HHZ6OTF3794cUpIHYETkgY=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/9oMsv0JlcK9iIkm9ZLy1QAMx.png?f=user_large

modbus Node-RED client gegevens:
Afbeeldingslocatie: https://tweakers.net/i/nwX3KeLCUNO1Tef-kqp5QnBxAFs=/x800/filters:strip_exif()/f/image/iFWGLxBeneFNJ2EM3upBjgg7.png?f=fotoalbum_large

En laat die flow maar stromen !

Mijn HA Yaml inclusief een aantal uitlees acties en de aan/uit "schrijf" actie:
YAML:
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
- name: waveshare1
  type: tcp
  host: 192.168.166.29
  port: 502
  delay: 2
  timeout: 5
  binary_sensors:
    - name: "Fairland Zwembad WPU Status"
      unique_id: "fairland_wpu_status"
      address: 0
      scan_interval: 10
      slave: 1
  sensors:
    - name: "Fairland Zwembad WPU Mode"
      unique_id: "fairland_wpu_mode"
      address: 1
      scan_interval: 10
      slave: 1
      input_type: holding
    - name: "Fairland Zwembad WPU Compressor Percent"
      unique_id: "fairland_wpu_compressor_percent"
      address: 0
      scan_interval: 10
      slave: 1
      input_type: input
      state_class: "measurement"
      unit_of_measurement: "%"
    - name: "Fairland Zwembad WPU Temp Inlet"
      unique_id: "fairland_wpu_water_inlet_temp"
      address: 3
      scan_interval: 10
      slave: 1
      input_type: input
      precision: 1
      offset: -30
      scale: 0.5
      state_class: "measurement"
      device_class: "temperature"
      unit_of_measurement: "°C"              
    - name: "Fairland Zwembad WPU Temp Outlet"   
      unique_id: "fairland_wpu_water_outlet_temp"
      address: 4       
      scan_interval: 10
      slave: 1         
      input_type: input
      precision: 1
      offset: -30
      scale: 0.5
      state_class: "measurement" 
      device_class: "temperature"
      unit_of_measurement: "°C"
    - name: "Fairland Zwembad WPU Heating Temp Setpoint" 
      unique_id: "fairland_wpu_heating_temp"   
      address: 3
      scan_interval: 10
      slave: 1   
      input_type: holding                
      precision: 1                    
      offset: -30
      scale: 0.5       
      state_class: "measurement"
      device_class: "temperature"
      unit_of_measurement: "°C"
    - name: "Fairland Zwembad WPU Compressor Amp "
      unique_id: "fairland_wpu_compressor_amp"
      address: 11
      scan_interval: 10
      slave: 1
      input_type: input
      scale: 0.1
      precision: 2
      state_class: "measurement"
      device_class: "energy"
      unit_of_measurement: "A"
    - name: "Fairland Zwembad WPU PFC Volt "
      unique_id: "fairland_wpu_pfc_volt"
      address: 2
      scan_interval: 10
      slave: 1
      input_type: input
      state_class: "measurement"
      device_class: "energy"
      unit_of_measurement: "V"
    - name: "Fairland Zwembad WPU Ambient Temp" 
      unique_id: "fairland_wpu_ambient_temp"   
      address: 5
      scan_interval: 10
      slave: 1   
      input_type: input
      precision: 1                    
      offset: -30
      scale: 0.5       
      state_class: "measurement"
      device_class: "temperature"
      unit_of_measurement: "°C"

  switches:
    - name: "Zwembad WPU Aan/Uit Schakelaar"
      unique_id: "Zwembad WPU Aan/Uit Schakelaar"
      slave: 1
      address: 0
      command_on: 1
      command_off: 0
      write_type: coil
      verify:
        input_type: coil
        address: 0
        delay: 1
        state_on: 1
        state_off: 0


Binnen HA krijg je nu een flink aantal entities erbij die ik in een apart dashboard heb gezet.
Mijn WPU is de fairland IPCHR45 en daar zijn de volgende registers van toepassing:
Afbeeldingslocatie: https://tweakers.net/i/Vo4eTYGpZt__Ape4iapfsgSox4w=/x800/filters:strip_icc():strip_exif()/f/image/7zPY6HEyjAxLscDtoXjXzYZH.jpg?f=fotoalbum_large

Met als bonus dat er een "geheime" extra stille/zuinige mode beschikbaar te maken is via de modbus:
Afbeeldingslocatie: https://tweakers.net/i/VlLFuekwaCvbimWJuZL3JRxBL1g=/800x/filters:strip_exif()/f/image/0xyNjGqB25vkoLxrhYVXaoV5.png?f=fotoalbum_large

Hier een snippet uit de file waarin je kan zien dat er een 0-3 value mogelijk is maar vervolgens wordt alleen 0, 1 en 3 uitgelegd. 2 is hier het geheim.
Door op dit register 2 te schrijven zal de pomp in super silence mode springen!
Dit betekend dat de compressor terugschakelt tot 24% van zijn vermogen en dat de delta tussen inlet en outlet op een halve graad komt. Vandaag met een buitentemp in de loop van de ochtend van 15 graden was deze modes in staat om mijn 34 kuub bad met solar afdekking op zijn constante temperatuur te houden!

Mijn korte resultaten van de metingen tussen de verschillende modi:
Op "normal" gaat de compressor naar 100%. Op "Silent" gaat hij naar 80% , op "Super Silent" naar 24%
Dat is respectievelijk in mijn geval: 2300Watt, 1800Watt, 330Watt.
Wat ik gedaan heb is de setpoint even 4 graden boven de huidige inlet temp gezet.
Dan gaat hij op 100% normal mode ongeveer 1,5 graad warmer uit sturen dan hij binnen krijgt.
Op de 80% Silent mode zit daar ongeveer een graad tussen.
Op de Super Silent mode zit er een halve graad tussen.

[ Voor 73% gewijzigd door GeeMoney op 04-05-2024 23:47 ]


Acties:
  • +1 Henk 'm!

  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 16:32
Samenvattend kan het probleem op meerdere punten zitten:
-De instellingen in HA/Nodered kloppen niet
-Er gaat iets mis in de Waveshare
-Er gaat iets mis in de RS485 verbinding
-Er gaat iets mis in de warmptepomp

In het HA topic hebben we al wat dingen door gelopen zonder succes nog, dus de volgende stap zou zijn om dit hele treintje stap voor stap te gaan testen, beginnend bij de warmtepomp. Een RS485 USB interface (bijvoorbeeld deze) kan daar handig bij zijn in combinatie met een modbus test tool op je computer/laptop.

Had je trouwens ook nog een type van die Fairland warmtepomp zodat ik eens in de handleiding daarvan kan neuzen?

Acties:
  • 0 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
Invisible_man schreef op maandag 29 april 2024 @ 14:29:
Samenvattend kan het probleem op meerdere punten zitten:
-De instellingen in HA/Nodered kloppen niet
-Er gaat iets mis in de Waveshare
-Er gaat iets mis in de RS485 verbinding
-Er gaat iets mis in de warmptepomp

In het HA topic hebben we al wat dingen door gelopen zonder succes nog, dus de volgende stap zou zijn om dit hele treintje stap voor stap te gaan testen, beginnend bij de warmtepomp. Een RS485 USB interface (bijvoorbeeld deze) kan daar handig bij zijn in combinatie met een modbus test tool op je computer/laptop.

Had je trouwens ook nog een type van die Fairland warmtepomp zodat ik eens in de handleiding daarvan kan neuzen?
Scherp, ik heb de openingspost bijgewerkt met type: IPHCR45 :
Het betreft: Fairland Full Inverter Plus zwembad warmtepomp - 17,5kW (IPHCR45)

Acties:
  • 0 Henk 'm!

  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 16:32
Ik vind in de handleiding niets over een RS485 interface, alleen een wifi module. Kan het zijn dat deze er hardware matig op zit als overblijfsel van een eerder type ofzo, maar er softwarematig niets mee gedaan wordt? Of heb je informatie dat dit wel zou moeten werken?

Acties:
  • 0 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
Invisible_man schreef op maandag 29 april 2024 @ 14:57:
Ik vind in de handleiding niets over een RS485 interface, alleen een wifi module. Kan het zijn dat deze er hardware matig op zit als overblijfsel van een eerder type ofzo, maar er softwarematig niets mee gedaan wordt? Of heb je informatie dat dit wel zou moeten werken?
Ik heb informatie dat het gewoon moet werken, de partij die het onderhoud doet verkoopt zelf ook RS485-USB adapters maar er zijn maar weinig mensen mee bezig volgens hem.
Ik zou anders ook niet verwachten dat de ACK gaat branden ?

[ Voor 5% gewijzigd door GeeMoney op 29-04-2024 15:06 ]


Acties:
  • 0 Henk 'm!

  • Jazsie
  • Registratie: Juni 2006
  • Laatst online: 23:10
Wat mij opvalt is dat ACT indicatie enkel zou moeten brand wanneer er ook actief data verkeer is.
Als deze constant blijft branden terwijl er geen data verkeer is, dit klopt naar mijn mening ook niet?

Wellicht toch nog eens A + B omwisselen en nog eens testen?

3600 Wp op 0° (vrijwel plat) | 3900Wp op 10°


Acties:
  • 0 Henk 'm!

  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 16:32
Jazsie schreef op maandag 29 april 2024 @ 15:58:
Wat mij opvalt is dat ACT indicatie enkel zou moeten brand wanneer er ook actief data verkeer is.
Als deze constant blijft branden terwijl er geen data verkeer is, dit klopt naar mijn mening ook niet?

Wellicht toch nog eens A + B omwisselen en nog eens testen?
Ja lijkt mij ook ja. De Waveshare communiceert pas over de RS485 verbinding wanneer er een modbus tcp vraag binnen komt, deze zal niet zelf gaan pollen ofzo.

Acties:
  • 0 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
@Jazsie en @Invisible_man ik zie dit op de FAQ:

1) check the status of the indicator light, the link light blue is always on that tcp channel is established; Vircom software on the automatic search view, TCP has been established, indicating that the channel is established.

2) If the link light is not blue always on, it is yellow-green/not on, then first vircom software/webpage login to see if you can log in, ping the device IP, whether this ping through? If you can search, ping through, indicating that the device is not dead, the upper computer software to connect the device IP and port, to see if it can be connected normally.

[ Voor 21% gewijzigd door GeeMoney op 29-04-2024 16:12 ]


Acties:
  • 0 Henk 'm!

  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 16:32
Wat is de Vircom software in dit verhaal, is dat van de waveshare?

Acties:
  • 0 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
Invisible_man schreef op maandag 29 april 2024 @ 16:16:
Wat is de Vircom software in dit verhaal, is dat van de waveshare?
Ja, een Windows tool voor de initiële config.

Acties:
  • 0 Henk 'm!

  • Jazsie
  • Registratie: Juni 2006
  • Laatst online: 23:10
GeeMoney schreef op maandag 29 april 2024 @ 16:11:
@Jazsie en @Invisible_man ik zie dit op de FAQ:

1) check the status of the indicator light, the link light blue is always on that tcp channel is established; Vircom software on the automatic search view, TCP has been established, indicating that the channel is established.

2) If the link light is not blue always on, it is yellow-green/not on, then first vircom software/webpage login to see if you can log in, ping the device IP, whether this ping through? If you can search, ping through, indicating that the device is not dead, the upper computer software to connect the device IP and port, to see if it can be connected normally.
Ahh oke, dan heb ik een andere versie module. Hier knippert ie namelijk enkel bij activiteit.

Wellicht vanaf een ander PC met een serial/modbus tool zoals https://www.modbustools.com/ aan de slag gaan om te kijken of je uberhaupt ook echt een "response" terug krijgt van je WP.

3600 Wp op 0° (vrijwel plat) | 3900Wp op 10°


Acties:
  • 0 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
Jazsie schreef op maandag 29 april 2024 @ 16:56:
[...]


Ahh oke, dan heb ik een andere versie module. Hier knippert ie namelijk enkel bij activiteit.

Wellicht vanaf een ander PC met een serial/modbus tool zoals https://www.modbustools.com/ aan de slag gaan om te kijken of je uberhaupt ook echt een "response" terug krijgt van je WP.
Ook met Modbus Poll krijg ik een timeout op het IP adres van de Waveshare, daar zit dus echt iets niet goed zou je zeggen?

Ik zal puur voor de verificatie de A en B zo nog eens omdraaien en opnieuw testen.

Ik zie nu toch ook dip switches op de printplaat van de pomp, @Jazsie weet jij of je dip switches hebt gezet ?
Afbeeldingslocatie: https://tweakers.net/i/U6M_W0zDn-I6LB59wfg9QSwuIWw=/x800/filters:strip_icc():strip_exif()/f/image/WQVUS1JJQBIjnnbYMc2XOPXd.jpg?f=fotoalbum_large


Als ik de A en B omdraai dan is de status als volgt op de waveshare:
Afbeeldingslocatie: https://tweakers.net/i/E2c-1RKqM5eFI15Sj_iiZN-lIXE=/x800/filters:strip_icc():strip_exif()/f/image/VPkd8nOZQalNm7YwO6M5w9VR.jpg?f=fotoalbum_large

Echter hetzelfde resultaat met de tools. Aoveral TimeOuts of Connection Refused.

[ Voor 55% gewijzigd door GeeMoney op 29-04-2024 18:29 ]


Acties:
  • 0 Henk 'm!

  • Jazsie
  • Registratie: Juni 2006
  • Laatst online: 23:10
Volgens mij heb ik de zelfde PCB erin zitten, dat stuk ziet er iig exact het zelfde uit :).

Ik heb ze niet aangepast, bij mij is dip 1 uit en dip 4 aan.
Geen idee wat ze doen dus zou er niet zomaar aan gaan zitten...

Meest makkelijke is toch met een USB <> RS485 debuggen. Dan sluit je het ethernet gedeelte uit.

Het feit dat je timeout krijgt lijkt mij toch dat er geen verbinding met je converter gemaakt kan worden.

3600 Wp op 0° (vrijwel plat) | 3900Wp op 10°


Acties:
  • +1 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
Jazsie schreef op maandag 29 april 2024 @ 18:30:
Volgens mij heb ik de zelfde PCB erin zitten, dat stuk ziet er iig exact het zelfde uit :).

Ik heb ze niet aangepast, bij mij is dip 1 uit en dip 4 aan.
Geen idee wat ze doen dus zou er niet zomaar aan gaan zitten...

Meest makkelijke is toch met een USB <> RS485 debuggen. Dan sluit je het ethernet gedeelte uit.

Het feit dat je timeout krijgt lijkt mij toch dat er geen verbinding met je converter gemaakt kan worden.
Ja, ik ken alleen niemand met zo'n ding. Ik zal dus even iets gaan bestellen.
Overigens zegt VirCom dit:
Afbeeldingslocatie: https://tweakers.net/i/NcyLEra9-qMQ78Ln3W8KBt5hMvs=/800x/filters:strip_exif()/f/image/toKa9TfyUZAreDOCSaWTlvhw.png?f=fotoalbum_large

ACT lijkt heel licht te knipperen en LINK is van groen naar blauw gegaan en power is gewoon rood.
Nog steeds geen communicatie mogelijk met Modbus Poll of Node-Red overigens.
Ik heb inmiddels de RS485 to USB besteld die @Invisible_man eerder als hint gaf.

Edit: Ik heb een virtual COM device gemaakt en deze geconnect via die Vircom software. Verder kom ik niet want ik heb geen echt serieel device wat data kan sturen maar het is dus blijkbaar wel mogelijk "iets" te connecten:
Afbeeldingslocatie: https://tweakers.net/i/y6kRgAjZHDoc9hBqMaMBjH8YM7Q=/800x/filters:strip_exif()/f/image/YEPJOsNwDKiEcEHj3yJCzCYC.png?f=fotoalbum_large

[ Voor 29% gewijzigd door GeeMoney op 29-04-2024 20:10 ]


Acties:
  • 0 Henk 'm!

  • Jazsie
  • Registratie: Juni 2006
  • Laatst online: 23:10
Volgens mij is de virtueel COM zodat je met een lokale software via de virtuele COM kan verbinden die dan naar je converter gaat.

Je zou Node-RED standalone kunnen downloaden en installeren en dan proberen te connecten via je virtuele COM poort ipv via TCP.

Of met een ander modbus programma...

3600 Wp op 0° (vrijwel plat) | 3900Wp op 10°


Acties:
  • +1 Henk 'm!

  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 16:32
Het zou heel goed kunnen dat die dip-switches het slave-id bepalen. In die beschrijving die je poste stond immers dat je 1 t/m 16 kon instellen en met vier schakelaars kan je precies 16 verschillende combinaties maken. Hoe hij nu staat zou suggereren dat het slave-adres gewoon 1 moet zijn en zou ik daar verder inderdaad niet aan gaan zitten.

Ik heb zelf overigens deze Waveshare:
https://www.amazon.nl/dp/...87102941_TE_SCE_dp_1?th=1
En daarbij hoef ik niets met virtuele compoorten of een losse tool als Vircom te doen, alles kon ik gewoon via de webinterface van de Waveshare instellen, maar dit is wel een ander type dan jij hebt. Nu zit ik even door de handleiding van jouw Waveshare te bladeren en daarmee heb je ook de optie om Modbus rtu naar MQTT te doen waar ik persoonlijk dan liever voor zou kiezen in plaats van modbus-tcp van HA of Node red te gaan communiceren en dat door de Waveshare om te laten gaan zetten. Dit zeg ik omdat ik best wel wat gedoe gehad heb met de modbus integraties die voor Node red beschikbaar zijn, vooral als je de configuraties wat complexer worden en communicatieprocessen parallel gaan lopen omdat modbus-RTU niet gemaakt is om meerdere dingen tegelijkertijd af te handelen waar MQTT dat wel is.

Maar goed, wat voor optie je ook kiest, het is zeker een goed idee om eerst de seriële communicatie te checken met een USB-RS485 converter.

Acties:
  • 0 Henk 'm!

  • Jazsie
  • Registratie: Juni 2006
  • Laatst online: 23:10
Eerst een werkende setup opzetten met USB <> RS485 is verreweg het beste, dan kan je al veel uitsluiten.

Als er maar 16 adressen zijn, die kan je dan gewoon 1 voor 1 testen/scannen.
Mijn WP heeft ook adres 1 maar heeft toch andere DIP instellingen, alleen geen idee waar die DIP switches voor dienen...

Serial is niet gemaakt voor parallel communicatie, je kan maar 1 actie tegelijk doen. Dat is iets waar je rekening mee moet houden. Daar heeft Node-RED hele mooie nodes voor en HA handelt dit intern (zover ik weet) af.
Ik had er zelf geen problemen mee, juist in Node-RED kon ik de meer complexe zaken doen.

Voordeel van MQTT is dat de data makkelijker beschikbaar is voor meerdere "devices".

3600 Wp op 0° (vrijwel plat) | 3900Wp op 10°


Acties:
  • +1 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
@Invisible_man ik heb ook een webinterface op die Waveshare zitten maar daar lijken niet alle settings mogelijk, inderdaad MQTT biedt deze ook maar laten we eerst überhaupt een serieel verbinding tot stand krijgen. Ik heb de rs485-usb adapter besteld in je eerste post hier maar ze gaan vandaag pas op de post dus ik denk dat ik ze morgen pas binnen heb.

Acties:
  • +4 Henk 'm!

  • xavier_82
  • Registratie: Juli 2017
  • Laatst online: 15:44
@GeeMoney

In de "Multihost settings" moet de "Instruction Time out" minimaal 32ms zijn en "Enable Multi-host" moet op yes staan.

Zie NOTE 1 en probeer dan het nog 1x

Acties:
  • +3 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
xavier_82 schreef op dinsdag 30 april 2024 @ 14:53:
@GeeMoney

In de "Multihost settings" moet de "Instruction Time out" minimaal 32ms zijn en "Enable Multi-host" moet op yes staan.

Zie NOTE 1 en probeer dan het nog 1x
HELD VAN DE DAG !

Die Note 1 heb ik ook mee gerommelt maar omdat er staat dat hij always enabled is als het protocol Modbus TCP to RTU is heb ik die wel aan/uit gezet maar dat zorgde er ook niet voor dat het werkte.
De grote truc is dus de combinatie van die setting en de 32ms zetten.

@Jazsie en @Invisible_man jullie uiteraard ook enorm bedankt in dit hele traject.
(Het begint nu pas natuurlijk maar goed haha)

Afbeeldingslocatie: https://tweakers.net/i/QH-uGFtyH0nWvqaMspP9VPMMxTU=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/wgYyaNab5E6DOGAjEwz7z4yS.png?f=user_large

Afbeeldingslocatie: https://tweakers.net/i/anRvBdhFtSGePDB3mvgs1zSI-Gc=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/ucfwmJPCC88tnyfBeinhqjR3.png?f=user_large

[ Voor 59% gewijzigd door GeeMoney op 30-04-2024 15:01 ]


Acties:
  • +1 Henk 'm!

  • Jazsie
  • Registratie: Juni 2006
  • Laatst online: 23:10
Nice catch @xavier_82, "Instruction Time out" over het hoofd gezien.

@GeeMoney: Denk dat je nu ook wel de rest van de flow wilt hebben ;)

3600 Wp op 0° (vrijwel plat) | 3900Wp op 10°


Acties:
  • +1 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
Jazsie schreef op dinsdag 30 april 2024 @ 15:47:
Nice catch @xavier_82, "Instruction Time out" over het hoofd gezien.

@GeeMoney: Denk dat je nu ook wel de rest van de flow wilt hebben ;)
haha, heel graag :)
Ik ben benieuwd!
Ook het aansturen naar die ultra stille modes en de temps uitlezen enzo zou gaaf zijn. Dan probeer ik het daarna ook te vertalen naar HA.

Ik heb op een andere locatie de volgende sheets gevonden:

Afbeeldingslocatie: https://tweakers.net/i/Vo4eTYGpZt__Ape4iapfsgSox4w=/x800/filters:strip_icc():strip_exif()/f/image/7zPY6HEyjAxLscDtoXjXzYZH.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/3mdPrAw_BJHJDinngDEhYQJaL7k=/800x/filters:strip_icc():strip_exif()/f/image/PsM4tgliyCKjiF6K9W8VaA6j.jpg?f=fotoalbum_large

Tot nog toe geen succes met HA. Blijf met Timeout meldingen zitten:

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
- name: waveshare1
  type: rtuovertcp
  host: 192.168.166.29
  port: 502
  message_wait_milliseconds: 32
  delay: 2
  timeout: 5
  binary_sensors:
    - name: "Fairland Status"
      address: 0
      scan_interval: 10
      slave: 0
      input_type: coil


@Invisible_man jij wellicht met bovenstaande sheets een idee hoe ik die op moet kunnen voeren? Omdat ik nog steeds timeouts ontvang binnen HA is of mijn adress/slave niet goed denk ik .

[ Voor 85% gewijzigd door GeeMoney op 30-04-2024 19:42 ]


Acties:
  • +1 Henk 'm!

  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 16:32
GeeMoney schreef op dinsdag 30 april 2024 @ 15:48:
[...]

@Invisible_man jij wellicht met bovenstaande sheets een idee hoe ik die op moet kunnen voeren? Omdat ik nog steeds timeouts ontvang binnen HA is of mijn adress/slave niet goed denk ik .
Ik kan het je in ieder geval voor NodeRed uitleggen waarin ik het toepas, doe het zelf niet in HA zelf. Ik heb zelf het als volgt opgebouwd:

Afbeeldingslocatie: https://tweakers.net/i/l04iEAjnWm4zZ_97twAWGTBBch4=/800x/filters:strip_exif()/f/image/kIk6rRSoIKPoQKucckiE4pIX.png?f=fotoalbum_large
Wat ik hier in grote lijnen doe is elke 5 seconde trap ik een keten van meerdere modbuscommando's af, met steeds een korte delay er tussen. Als ik meerdere van die modbus nodes tegelijkertijd uitvoer, gaat het mis (dat bedoelde ik eerder met de beperkingen die deze integratie heeft), maar zo houd je de controle er over. Wellicht dat het met jouw Waveshare minder een probleem zal zijn, maar dit werkt verder prima.

Die rode modbus nodes verwachten een JSON bericht in msg.payload met wat ze moeten doen:
Afbeeldingslocatie: https://tweakers.net/i/RAG06HS-8VCkVQj1FLvEliNavjQ=/800x/filters:strip_exif()/f/image/xmIwI1xZqNIs20DXEe2gz2jM.png?f=fotoalbum_large
In dit geval moet hij dus functiecode 3 gebruiken (read holding registers) en wil ik vanaf adres 100 11 registers uitlezen (dus 100 t/m 110) van slave/unitid 1. De output van een modbus request is dan een array ten grote van het aantal registers dat je opgevraagd hebt.

Heb je al een beetje een idee welke modbusregisters je moet uitlezen en schrijven en wat al die functiecodes inhouden?

Acties:
  • 0 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
@Invisible_man nee, nog niet. Ik wil in ieder geval beginnen met voornamelijk uitlezen van alle temp waardes, voltages, status van de pomp, heating/cooling etc. Het enige wat ik wel snel wil kunnen “sturen” is de ultra silent mode die beschikbaar is via modbus. Ik heb alleen bovenstaande sheets met adressen. Ik wil het uiteindelijk ook binnen HA voor elkaar krijgen omdat ik anders nog een tool erbij krijg die zaken aanstuurt. Ik heb al Fibaro/HA/MQTT ik wil juist zoveel mogelijk centraal kunnen doen.

Acties:
  • +1 Henk 'm!

  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 16:32
Wat verwarrend met modbus is, is dat je meerdere adresranges parallel aan elkaar hebt waar tussen je met die verschillende functiecodes tussen kan kiezen. Zie dit plaatje:
Afbeeldingslocatie: https://miro.medium.com/v2/resize:fit:828/format:webp/0*lOma7y90Hjtdc88d.jpg
Je hebt dus coils, contacts, holding registers en input registers en die allen hebben eigen functiecodes (zeg maar commando's) om ze te lezen of te beschrijven. Coils en contacts bestaan uit losse bits waarbij coils ook te beschrijven zijn en contacts alleen te lezen zijn. Holding- en inputregisters zijn getallen (16 bits) waarbij de holdingregisters ook te beschrijven zijn en de inputregisters alleen te lezen zijn.

Om het nog verwarrende te maken moet je in sommige software dan ook nog afhankelijk van welke range je wilt, er nog een meervoud van 10000 bij optellen (zoals in dit lijstje) wat eigenlijk dubbel op is omdat je de range ook al met je functiecode aangeeft. Maar in Node Red en in jouw lijst telt elke range gewoon vanaf 0, dus dat maakt het makkelijker in dit geval. En om dan nog maar niet te beginnen dat de ene keer er vanaf 0 geteld wordt en de andere keer vanaf 1 zodat je soms ook nog 1 bij je adres moet optellen of aftrekken |:( Het moge duidelijk zijn dat modbus een protocol met geschiedenis is :o

Als je met alleen de actuele temperaturen enzo wilt beginnen, zou je volgens je lijst dus inputregister 0 t/m 14 kunnen uitlezen met functiecode 04. In Node Red zou je dat dan als volgt moeten invoeren (er even van uitgaande dat je unitid 1 moet hebben):

code:
1
{"fc":4,"unitid":1,"address":0,"quantity":15}

En daarmee zou je dan een Array van 15 items moeten hebben met daarin onder andere alle temperaturen enzo. Let wel, volgens die lijst moet je eerst nog wat rekenwerk doen voordat je je temperatuur er uit hebben: (waarde - 60) / 2

Het voordeel van het in Node red op te lossen is overigens ook dat je wat meer grip hebt op of je het in blokken leest of niet. In dit geval kan je dus in één commando 15 registers tegelijkertijd lezen wat vooral als je veel data wilt ophalen het een stuk efficiënter maakt. Maar ik heb verder geen idee hoe HA daar zelf mee omgaat.

Acties:
  • 0 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
Invisible_man schreef op dinsdag 30 april 2024 @ 20:53:
Wat verwarrend met modbus is, is dat je meerdere adresranges parallel aan elkaar hebt waar tussen je met die verschillende functiecodes tussen kan kiezen. Zie dit plaatje:
[Afbeelding]
Je hebt dus coils, contacts, holding registers en input registers en die allen hebben eigen functiecodes (zeg maar commando's) om ze te lezen of te beschrijven. Coils en contacts bestaan uit losse bits waarbij coils ook te beschrijven zijn en contacts alleen te lezen zijn. Holding- en inputregisters zijn getallen (16 bits) waarbij de holdingregisters ook te beschrijven zijn en de inputregisters alleen te lezen zijn.

Om het nog verwarrende te maken moet je in sommige software dan ook nog afhankelijk van welke range je wilt, er nog een meervoud van 10000 bij optellen (zoals in dit lijstje) wat eigenlijk dubbel op is omdat je de range ook al met je functiecode aangeeft. Maar in Node Red en in jouw lijst telt elke range gewoon vanaf 0, dus dat maakt het makkelijker in dit geval. En om dan nog maar niet te beginnen dat de ene keer er vanaf 0 geteld wordt en de andere keer vanaf 1 zodat je soms ook nog 1 bij je adres moet optellen of aftrekken |:( Het moge duidelijk zijn dat modbus een protocol met geschiedenis is :o

Als je met alleen de actuele temperaturen enzo wilt beginnen, zou je volgens je lijst dus inputregister 0 t/m 14 kunnen uitlezen met functiecode 04. In Node Red zou je dat dan als volgt moeten invoeren (er even van uitgaande dat je unitid 1 moet hebben):

code:
1
{"fc":4,"unitid":1,"address":0,"quantity":15}

En daarmee zou je dan een Array van 15 items moeten hebben met daarin onder andere alle temperaturen enzo. Let wel, volgens die lijst moet je eerst nog wat rekenwerk doen voordat je je temperatuur er uit hebben: (waarde - 60) / 2

Het voordeel van het in Node red op te lossen is overigens ook dat je wat meer grip hebt op of je het in blokken leest of niet. In dit geval kan je dus in één commando 15 registers tegelijkertijd lezen wat vooral als je veel data wilt ophalen het een stuk efficiënter maakt. Maar ik heb verder geen idee hoe HA daar zelf mee omgaat.
Het grote nadeel van Node-RED is dat het wederom weer een taal is wat je moet leren :P .
Ik doe nu een Modbus-read met jouw input maar ik heb nu geen flauw idee hoe ik dat nu leesbaar ergens te zien krijg in een overzicht/dashboard bijvoorbeeld.

Acties:
  • 0 Henk 'm!

  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 16:32
GeeMoney schreef op dinsdag 30 april 2024 @ 20:59:
[...]


Het grote nadeel van Node-RED is dat het wederom weer een taal is wat je moet leren :P .
Ik doe nu een Modbus-read met jouw input maar ik heb nu geen flauw idee hoe ik dat nu leesbaar ergens te zien krijg in een overzicht/dashboard bijvoorbeeld.
Er zijn natuurlijk meerdere wegen naar Rome en voor alle opties is wel wat te zeggen. Dit is alleen de optie die ik toegepast heb en waar ik je van kan vertellen wat je zou moeten doen, maar ik heb er geen twijfel over dat je het direct in HA ook wel kan oplossen. Het voordeel van Node Red is vooral dat je wat meer controle hebt over hoe en wanneer dingen gebeuren.

Acties:
  • 0 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
Invisible_man schreef op dinsdag 30 april 2024 @ 21:02:
[...]

Er zijn natuurlijk meerdere wegen naar Rome en voor alle opties is wel wat te zeggen. Dit is alleen de optie die ik toegepast heb en waar ik je van kan vertellen wat je zou moeten doen, maar ik heb er geen twijfel over dat je het direct in HA ook wel kan oplossen. Het voordeel van Node Red is vooral dat je wat meer controle hebt over hoe en wanneer dingen gebeuren.
Even als test en begin, met jouw waardes heb ik nu een Modbus-read gevuld, met welke node kan ik nu die data zichtbaar krijgen ?

Acties:
  • 0 Henk 'm!

  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 16:32
GeeMoney schreef op dinsdag 30 april 2024 @ 21:03:
[...]


Even als test en begin, met jouw waardes heb ik nu een Modbus-read gevuld, met welke node kan ik nu die data zichtbaar krijgen ?
Om het simpel te houden gewoon z'n groen debug blokje, dan komt de data rechts in je scherm in het debug window naar voren. Dubbelklik die dan en zet hem op "Compelte msg object" zodat je alles ziet wat er uit dat modbus blokje komt.

Acties:
  • 0 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
Invisible_man schreef op dinsdag 30 april 2024 @ 21:10:
[...]

Om het simpel te houden gewoon z'n groen debug blokje, dan komt de data rechts in je scherm in het debug window naar voren. Dubbelklik die dan en zet hem op "Compelte msg object" zodat je alles ziet wat er uit dat modbus blokje komt.
Ik krijg helaas weer errors:

Afbeeldingslocatie: https://tweakers.net/i/0bZk79LcXpnsIl55hAOUhnPCeiQ=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/OoTWmohi0tDhVdso43dgzz4K.png?f=user_large

Afbeeldingslocatie: https://tweakers.net/i/5pVtLqFTJkxdQjIvp5UF4FSBUcs=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/ikGnLzxfdQFNV2gmBFuo3aTY.png?f=user_large

Nou schiet mij wel te binnen dat de pomp inmiddels uit staat, status on/off doet het nog wel maar die had ik even disabled omdat je maar met 1 sessie tegelijk kan dacht ik.

[ Voor 24% gewijzigd door GeeMoney op 30-04-2024 21:16 ]


Acties:
  • 0 Henk 'm!

  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 16:32
Kan je een screenshot van de instellingen van dat readblokje posten?

Acties:
  • 0 Henk 'm!

  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 16:32
Ja dat lijkt verder goed, je hebt toevallig niet nog andere modbus blokjes actief staan? Want daar is deze intergratie dus gevoelig voor als je meerdere blokjes tegelijkertijd iets wil laten doen.

Acties:
  • 0 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
Invisible_man schreef op dinsdag 30 april 2024 @ 21:22:
Ja dat lijkt verder goed, je hebt toevallig niet nog andere modbus blokjes actief staan? Want daar is deze intergratie dus gevoelig voor als je meerdere blokjes tegelijkertijd iets wil laten doen.
Nee, geen andere draaien.
Hij komt in een Timeout, zou het te lang duren ?

[ Voor 6% gewijzigd door GeeMoney op 30-04-2024 21:28 ]


Acties:
  • 0 Henk 'm!

  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 16:32
GeeMoney schreef op dinsdag 30 april 2024 @ 21:27:
[...]


Nee, geen andere draaien.
Hij komt in een Timeout, zou het te lang duren ?
Dat of geen verbinding. Kan je ook de instellingen van de server in dat modbusblokje eens tonen (edit knopje naast server), daar kan je de timeouttijd ook instellen.

Acties:
  • 0 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
Invisible_man schreef op dinsdag 30 april 2024 @ 21:30:
[...]

Dat of geen verbinding. Kan je ook de instellingen van de server in dat modbusblokje eens tonen (edit knopje naast server), daar kan je de timeouttijd ook instellen.
Afbeeldingslocatie: https://tweakers.net/i/9gcbzgr_BhwDBG1v1TSlY2UzG8M=/800x/filters:strip_exif()/f/image/bnYma7bPsJQMI5IcLClgBsab.png?f=fotoalbum_large

Acties:
  • 0 Henk 'm!

  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 16:32
Wellicht dat vinkje bij reconnect on timeout aanzetten?

Wat ik anders heb is dat ik tcp type op default heb staan, maar dat heeft ook uit te staan hoe je die waveshare gebruikt. Ik laat de waveshare converteren van modbus rtu (serieel) naar modbus tcp, maar jij werkt volgens mij met die virtuele seriele poorten.

Maar het blijft lastig om zo op afstand te troubleshooten omdat het lastig is een totaalplaatje te krijgen.

Dit is wat ik in mijn Waveshare ingesteld (weliswaar RS232 ipv 485) heb en daarmee kan ik dus gewoon met modbus-tcp communiceren zonder virtuele seriele poorten enzo:
Afbeeldingslocatie: https://tweakers.net/i/WajB54_AdG-kfYXpHLPPxB7iQ7c=/800x/filters:strip_exif()/f/image/8wVxNZkIgprG7yQDkjy1sQWd.png?f=fotoalbum_large

Acties:
  • +1 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
Invisible_man schreef op dinsdag 30 april 2024 @ 22:18:
Wellicht dat vinkje bij reconnect on timeout aanzetten?

Wat ik anders heb is dat ik tcp type op default heb staan, maar dat heeft ook uit te staan hoe je die waveshare gebruikt. Ik laat de waveshare converteren van modbus rtu (serieel) naar modbus tcp, maar jij werkt volgens mij met die virtuele seriele poorten.

Maar het blijft lastig om zo op afstand te troubleshooten omdat het lastig is een totaalplaatje te krijgen.

Dit is wat ik in mijn Waveshare ingesteld (weliswaar RS232 ipv 485) heb en daarmee kan ik dus gewoon met modbus-tcp communiceren zonder virtuele seriele poorten enzo:
[Afbeelding]
Ik heb beeld. Ik heb de Quantity even op 4 gezet!
TCP kan ik ook op DEFAULT zetten, dat werkt ook.

Afbeeldingslocatie: https://tweakers.net/i/kVnVrazmFl1sU9Bimmr1GOBIrPg=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/rMXKuWLMkRh9V1LLUWPU6Cwf.png?f=user_large

Als ik de Quantity hoger zet dan 6 dan krijg ik een time-out:
Afbeeldingslocatie: https://tweakers.net/i/A8B0aHe_iaoHNYkPU1QrHl0xdG0=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/OKPGX0W4ftkstoSkYrlOEUXf.png?f=user_large

Afbeeldingslocatie: https://tweakers.net/i/IV_xURrs6zcGMJwVIAkd5ddVc-g=/800x/filters:strip_exif()/f/image/yo2ki9ZdxkO3o10P3bXwa0oM.png?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/JVLrx3eS8mZIk7N8YtYWJP5DwBg=/x800/filters:strip_exif()/f/image/1bUxAmcaiJSj1NfSG3chqNk1.png?f=fotoalbum_large

[ Voor 35% gewijzigd door GeeMoney op 30-04-2024 22:37 ]


Acties:
  • +2 Henk 'm!

  • Jazsie
  • Registratie: Juni 2006
  • Laatst online: 23:10
GeeMoney schreef op dinsdag 30 april 2024 @ 21:14:
[...]


Ik krijg helaas weer errors:

[Afbeelding]

[Afbeelding]

Nou schiet mij wel te binnen dat de pomp inmiddels uit staat, status on/off doet het nog wel maar die had ik even disabled omdat je maar met 1 sessie tegelijk kan dacht ik.
Je krijgt timeout omdat je quantity op 15 staat, iets wat je WP niet leuk vind ;).
En we weten dat je nu een correcte -TCP- serial verbinding hebt dus het is een fout in de command/actie.

Verander het naar 1 en je krijgt response. Maar die heb je al want je begint bij adres 0 en dat is de on/off status :)

Bij Queues kan je "Queue commands" aanzetten, dan zal ie nooit tegelijk proberen een command/actie uit te voeren.

Hier heb je de flow om state / mode / compressor speed uit te lezen:

code:
1
[{"id":"559a295548f08d60","type":"function","z":"9f4eb76c8f3c8ad0","name":"On/Off state","func":"var payload = msg.payload;\nmsg.description = \"Status\";\nmsg.topic = \"status\";\n\nnode.status({ fill: \"blue\", shape: \"ring\", text: msg.description + \":\" + payload });\n\nmsg.payload.status = payload;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":510,"y":340,"wires":[["773aec349d3bdeb1"]]},{"id":"88d87524f21683e0","type":"modbus-read","z":"9f4eb76c8f3c8ad0","name":"On/Off state","topic":"","showStatusActivities":false,"logIOActivities":false,"showErrors":false,"showWarnings":true,"unitid":"1","dataType":"Coil","adr":"0","quantity":"1","rate":"2","rateUnit":"s","delayOnStart":false,"startDelayTime":"","server":"9e0fa699595041c7","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"x":150,"y":340,"wires":[["9a2c1ed665042cf7"],["58d45a70a39ff055"]]},{"id":"9a2c1ed665042cf7","type":"function","z":"9f4eb76c8f3c8ad0","name":"MSG","func":"if (msg.payload[0] == 0) {\n    msg.payload = \"Off\";\n}\nelse if(msg.payload[0] == 1) {\n    msg.payload = \"On\";\n}\nelse {\n    msg.payload = \"Unknown\";\n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":330,"y":340,"wires":[["559a295548f08d60"]]},{"id":"dbc077464ee3df1b","type":"function","z":"9f4eb76c8f3c8ad0","name":"MSG","func":"if (msg.payload[0] == 0) {\n    msg.payload = \"Smart\";\n}\nelse if(msg.payload[0] == 1) {\n    msg.payload = \"Silent\";\n}\nelse if(msg.payload[0] == 2) {\n    msg.payload = \"Super Silent\";\n}\nelse if(msg.payload[0] == 3) {\n    msg.payload = \"Turbo\";\n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":330,"y":420,"wires":[["59fa4902163cbd05","0e42641393f52473"]]},{"id":"59fa4902163cbd05","type":"ui_text","z":"9f4eb76c8f3c8ad0","group":"e009ba8688b46563","order":2,"width":0,"height":0,"name":"","label":"Running mode","format":"{{msg.payload}}","layout":"row-spread","className":"","x":520,"y":400,"wires":[]},{"id":"58d45a70a39ff055","type":"modbus-flex-sequencer","z":"9f4eb76c8f3c8ad0","name":"Running mode","sequences":[{"name":"","unitid":"1","fc":"FC3","address":"1","quantity":"1"}],"server":"9e0fa699595041c7","showStatusActivities":false,"showErrors":false,"showWarnings":true,"logIOActivities":false,"useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"delayOnStart":false,"startDelayTime":"","x":140,"y":420,"wires":[["dbc077464ee3df1b"],["3e2a2a1843c3f2be"]]},{"id":"0e42641393f52473","type":"function","z":"9f4eb76c8f3c8ad0","name":"Running Mode","func":"var payload = msg.payload;\nmsg.description = \"Running Mode\";\nmsg.topic = \"running_mode\";\n\nnode.status({ fill: \"blue\", shape: \"ring\", text: msg.description + \":\" + payload });\n\nmsg.payload.running_mode = payload;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":520,"y":440,"wires":[["773aec349d3bdeb1"]]},{"id":"3e2a2a1843c3f2be","type":"modbus-flex-sequencer","z":"9f4eb76c8f3c8ad0","name":"Compressor speed","sequences":[{"name":"","unitid":"1","fc":"FC4","address":"0","quantity":"1"}],"server":"9e0fa699595041c7","showStatusActivities":false,"showErrors":false,"showWarnings":true,"logIOActivities":false,"useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"delayOnStart":false,"startDelayTime":"","x":170,"y":520,"wires":[["b50d151ae909afc0"],["d09f22bfa6a19cdf"]]},{"id":"b50d151ae909afc0","type":"function","z":"9f4eb76c8f3c8ad0","name":"MSG","func":"msg.payload = msg.payload[0];\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":330,"y":520,"wires":[["4173950e014cd40d","300b674d45e6aacd"]]},{"id":"4173950e014cd40d","type":"ui_gauge","z":"9f4eb76c8f3c8ad0","name":"","group":"e009ba8688b46563","order":7,"width":0,"height":0,"gtype":"gage","title":"Compressor Speed","label":"%","format":"{{value}}","min":0,"max":"100","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","className":"","x":530,"y":500,"wires":[]},{"id":"300b674d45e6aacd","type":"function","z":"9f4eb76c8f3c8ad0","name":"Frequency","func":"var payload = msg.payload;\nmsg.description = \"Compressor Speed\";\nmsg.topic = \"compressor_speed\";\n\nnode.status({ fill: \"blue\", shape: \"ring\", text: msg.description + \":\" + payload });\n\nmsg.payload.compressor_speed = payload;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":510,"y":540,"wires":[["773aec349d3bdeb1"]]},{"id":"9e0fa699595041c7","type":"modbus-client","name":"Heatpump - RS485","clienttype":"serial","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"failureLogEnabled":true,"tcpHost":"127.0.0.1","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AB0M9OGE-if00-port0","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"2","serialAsciiResponseStartDelimiter":"0x3A","unit_id":1,"commandDelay":10,"clientTimeout":500,"reconnectOnTimeout":false,"reconnectTimeout":1000,"parallelUnitIdsAllowed":true},{"id":"e009ba8688b46563","type":"ui_group","name":"Heatpump","tab":"018516a3ad907c72","order":1,"disp":true,"width":"6","collapse":false,"className":""},{"id":"018516a3ad907c72","type":"ui_tab","name":"Heatpump","icon":"dashboard","disabled":false,"hidden":false}]


Afbeeldingslocatie: https://tweakers.net/i/7h31yCvF6fhZESEnMV28gVpkkBk=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/XtzZzQobdn0yhtC1aRznaxt2.png?f=user_large

Hoor wel wat je nog meer zoekt ;)

(ja, ik weet dat de flow compacter kan. Nog niet aan toe gekomen)

3600 Wp op 0° (vrijwel plat) | 3900Wp op 10°


Acties:
  • 0 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
Jazsie schreef op dinsdag 30 april 2024 @ 22:38:
[...]


Je krijgt timeout omdat je quantity op 15 staat, iets wat je WP niet leuk vind ;).
En we weten dat je nu een correcte -TCP- serial verbinding hebt dus het is een fout in de command/actie.

Verander het naar 1 en je krijgt response. Maar die heb je al want je begint bij adres 0 en dat is de on/off status :)

Bij Queues kan je "Queue commands" aanzetten, dan zal ie nooit tegelijk proberen een command/actie uit te voeren.

Hier heb je de flow om state / mode / compressor speed uit te lezen:

code:
1
[{"id":"559a295548f08d60","type":"function","z":"9f4eb76c8f3c8ad0","name":"On/Off state","func":"var payload = msg.payload;\nmsg.description = \"Status\";\nmsg.topic = \"status\";\n\nnode.status({ fill: \"blue\", shape: \"ring\", text: msg.description + \":\" + payload });\n\nmsg.payload.status = payload;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":510,"y":340,"wires":[["773aec349d3bdeb1"]]},{"id":"88d87524f21683e0","type":"modbus-read","z":"9f4eb76c8f3c8ad0","name":"On/Off state","topic":"","showStatusActivities":false,"logIOActivities":false,"showErrors":false,"showWarnings":true,"unitid":"1","dataType":"Coil","adr":"0","quantity":"1","rate":"2","rateUnit":"s","delayOnStart":false,"startDelayTime":"","server":"9e0fa699595041c7","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"x":150,"y":340,"wires":[["9a2c1ed665042cf7"],["58d45a70a39ff055"]]},{"id":"9a2c1ed665042cf7","type":"function","z":"9f4eb76c8f3c8ad0","name":"MSG","func":"if (msg.payload[0] == 0) {\n    msg.payload = \"Off\";\n}\nelse if(msg.payload[0] == 1) {\n    msg.payload = \"On\";\n}\nelse {\n    msg.payload = \"Unknown\";\n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":330,"y":340,"wires":[["559a295548f08d60"]]},{"id":"dbc077464ee3df1b","type":"function","z":"9f4eb76c8f3c8ad0","name":"MSG","func":"if (msg.payload[0] == 0) {\n    msg.payload = \"Smart\";\n}\nelse if(msg.payload[0] == 1) {\n    msg.payload = \"Silent\";\n}\nelse if(msg.payload[0] == 2) {\n    msg.payload = \"Super Silent\";\n}\nelse if(msg.payload[0] == 3) {\n    msg.payload = \"Turbo\";\n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":330,"y":420,"wires":[["59fa4902163cbd05","0e42641393f52473"]]},{"id":"59fa4902163cbd05","type":"ui_text","z":"9f4eb76c8f3c8ad0","group":"e009ba8688b46563","order":2,"width":0,"height":0,"name":"","label":"Running mode","format":"{{msg.payload}}","layout":"row-spread","className":"","x":520,"y":400,"wires":[]},{"id":"58d45a70a39ff055","type":"modbus-flex-sequencer","z":"9f4eb76c8f3c8ad0","name":"Running mode","sequences":[{"name":"","unitid":"1","fc":"FC3","address":"1","quantity":"1"}],"server":"9e0fa699595041c7","showStatusActivities":false,"showErrors":false,"showWarnings":true,"logIOActivities":false,"useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"delayOnStart":false,"startDelayTime":"","x":140,"y":420,"wires":[["dbc077464ee3df1b"],["3e2a2a1843c3f2be"]]},{"id":"0e42641393f52473","type":"function","z":"9f4eb76c8f3c8ad0","name":"Running Mode","func":"var payload = msg.payload;\nmsg.description = \"Running Mode\";\nmsg.topic = \"running_mode\";\n\nnode.status({ fill: \"blue\", shape: \"ring\", text: msg.description + \":\" + payload });\n\nmsg.payload.running_mode = payload;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":520,"y":440,"wires":[["773aec349d3bdeb1"]]},{"id":"3e2a2a1843c3f2be","type":"modbus-flex-sequencer","z":"9f4eb76c8f3c8ad0","name":"Compressor speed","sequences":[{"name":"","unitid":"1","fc":"FC4","address":"0","quantity":"1"}],"server":"9e0fa699595041c7","showStatusActivities":false,"showErrors":false,"showWarnings":true,"logIOActivities":false,"useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"delayOnStart":false,"startDelayTime":"","x":170,"y":520,"wires":[["b50d151ae909afc0"],["d09f22bfa6a19cdf"]]},{"id":"b50d151ae909afc0","type":"function","z":"9f4eb76c8f3c8ad0","name":"MSG","func":"msg.payload = msg.payload[0];\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":330,"y":520,"wires":[["4173950e014cd40d","300b674d45e6aacd"]]},{"id":"4173950e014cd40d","type":"ui_gauge","z":"9f4eb76c8f3c8ad0","name":"","group":"e009ba8688b46563","order":7,"width":0,"height":0,"gtype":"gage","title":"Compressor Speed","label":"%","format":"{{value}}","min":0,"max":"100","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","className":"","x":530,"y":500,"wires":[]},{"id":"300b674d45e6aacd","type":"function","z":"9f4eb76c8f3c8ad0","name":"Frequency","func":"var payload = msg.payload;\nmsg.description = \"Compressor Speed\";\nmsg.topic = \"compressor_speed\";\n\nnode.status({ fill: \"blue\", shape: \"ring\", text: msg.description + \":\" + payload });\n\nmsg.payload.compressor_speed = payload;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":510,"y":540,"wires":[["773aec349d3bdeb1"]]},{"id":"9e0fa699595041c7","type":"modbus-client","name":"Heatpump - RS485","clienttype":"serial","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"failureLogEnabled":true,"tcpHost":"127.0.0.1","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AB0M9OGE-if00-port0","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"2","serialAsciiResponseStartDelimiter":"0x3A","unit_id":1,"commandDelay":10,"clientTimeout":500,"reconnectOnTimeout":false,"reconnectTimeout":1000,"parallelUnitIdsAllowed":true},{"id":"e009ba8688b46563","type":"ui_group","name":"Heatpump","tab":"018516a3ad907c72","order":1,"disp":true,"width":"6","collapse":false,"className":""},{"id":"018516a3ad907c72","type":"ui_tab","name":"Heatpump","icon":"dashboard","disabled":false,"hidden":false}]


[Afbeelding]

Hoor wel wat je nog meer zoekt ;)

(ja, ik weet dat de flow compacter kan. Nog niet aan toe gekomen)
Ik heb deze flow nu geïmporteerd, als de pomp morgen aan gaat, dan krijg ik de info weer als een labeltje te zien zeg maar?

De in/outlet temp en heb jij iets om de COP te krijgen/berekenen ?
Hoe ben jij achter al die adressen en slaves enzo gekomen? Als ik die vertaal slag kan maken met de functies dan kan ik in een lijst kijken wat de mogelijkheden zijn en zo mogelijk zelf verder borduren ?

Ja, info komt als labeltje zie ik :) Is het ook mogelijk dat weer in HA te tonen ofzo ? Of hoe heb jij dat?
Open je iedere keer die Node-RED om een status van je pomp Enzo te zien ?

Afbeeldingslocatie: https://tweakers.net/i/EsCeXCq8zKlK87T3z2CYrtMIVY4=/800x/filters:strip_exif()/f/image/zlE70dDMlOxSpXc3YN2lyvFV.png?f=fotoalbum_large

[ Voor 4% gewijzigd door GeeMoney op 30-04-2024 22:56 ]


Acties:
  • 0 Henk 'm!

  • Jazsie
  • Registratie: Juni 2006
  • Laatst online: 23:10
Correct, in het blauw onder functie node zie je de huidige repsonse.
De licht blauwe (nodes) is naar de dashboard van Node-RED zelf, kan je weg laten.

Na de laatste functie nodes kan je doen met de data wat je wilt, ik stuur het naar MQTT.

3600 Wp op 0° (vrijwel plat) | 3900Wp op 10°


Acties:
  • +1 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
Jazsie schreef op dinsdag 30 april 2024 @ 22:56:
Correct, in het blauw onder functie node zie je de huidige repsonse.
De licht blauwe (nodes) is naar de dashboard van Node-RED zelf, kan je weg laten.

Na de laatste functie nodes kan je doen met de data wat je wilt, ik stuur het naar MQTT.
MQTT Is ook prima inderdaad, dan kan ik het weer oppakken in HA/Fibaro :)
Ik heb het naar MQTT gezet !

[ Voor 3% gewijzigd door GeeMoney op 30-04-2024 23:05 ]


Acties:
  • +2 Henk 'm!

  • Jazsie
  • Registratie: Juni 2006
  • Laatst online: 23:10
Dat kan je doen met de MQTT node :).

Om de COP te berekenen moet je ook je waterflow weten, het vebruik van je warmtepomp en je in/uit temperatuur.

De adressen vinden was vooral veel proberen en zoeken. Maar ik zie dat jij een hele mooie datasheet hebt gepost paar post terug. Daar staat letterlijk wat je moet hebben, had ik die toen maar gevonden :+.

Wat je nu hebt zijn de read registers om data uit te lezen. Om je WP aan te sturen heb je write registers nodig van de datasheet die je gepost hebt.

[ Voor 3% gewijzigd door Jazsie op 30-04-2024 23:07 ]

3600 Wp op 0° (vrijwel plat) | 3900Wp op 10°


Acties:
  • 0 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
Jazsie schreef op dinsdag 30 april 2024 @ 23:06:
Dat kan je doen met de MQTT node :).

Om de COP te berekenen moet je ook je waterflow weten, het vebruik van je warmtepomp en je in/uit temperatuur.

De adressen vinden was vooral veel proberen en zoeken. Maar ik zie dat jij een hele mooie datasheet hebt gepost paar post terug. Daar staat letterlijk wat je moet hebben, had ik die toen maar gevonden :+.

Wat je nu hebt zijn de read registers om data uit te lezen. Om je WP aan te sturen heb je write registers nodig van de datasheet die je gepost hebt.
Bedankt weer zover, ik heb wat spul in MQTT gezet en in het dashboard van HA even gezet.

@Invisible_man ik ga van de week nog even proberen om het direct in HA te krijgen maar zelfs met de datasheet en de voorbeelden van @Jazsie krijg ik het nu nog niet juist vertaald.

Acties:
  • 0 Henk 'm!

  • Jazsie
  • Registratie: Juni 2006
  • Laatst online: 23:10
Wat kan je niet precies vertalen van de datasheet?

Welk data wil je lezen/schrijven?

3600 Wp op 0° (vrijwel plat) | 3900Wp op 10°


Acties:
  • 0 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
Jazsie schreef op woensdag 1 mei 2024 @ 01:21:
Wat kan je niet precies vertalen van de datasheet?

Welk data wil je lezen/schrijven?
Vertalen van Node-RED naar HA lukt nog niet.
Ik heb op jouw manier de temps opgevoerd en alles gaat naar MQTT. Morgen even kijken hoe dat gaat :).

Acties:
  • +2 Henk 'm!

  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 16:32
GeeMoney schreef op woensdag 1 mei 2024 @ 01:23:
[...]


Vertalen van Node-RED naar HA lukt nog niet.
Ik heb op jouw manier de temps opgevoerd en alles gaat naar MQTT. Morgen even kijken hoe dat gaat :).
Ik gebruik zelf ook MQTT om data van NodeRed naar HA te krijgen, maar er zijn meer wegen naar Rome. Je kan ook helpers in HA aanmaken die dan in je Global variabelen in Node Red beschikbaar komen waar je naar toe kan schrijven en je kan de HA integratie in NodeRed gebruiken en daar het sensor blokje van gebruiken waar je dan de waarde uit modbus (nadat je die omgerekend hebt) naar toe schrijft.

Wederom, meerdere wegen naar Rome 8)

Acties:
  • +1 Henk 'm!

  • Jazsie
  • Registratie: Juni 2006
  • Laatst online: 23:10
Ahh,

Ik gebruik zelf niet echt de HA modbus integratie behalve klein deel voor mijn Victron omvormer dat ik nog moet omzetten.

Te beperkt en interval lager dan 5sec geeft bij mij problemen.

De combi Node-RED en HA via MQTT werkt perfect.
Daarin kan ik je helpen :9.

3600 Wp op 0° (vrijwel plat) | 3900Wp op 10°


Acties:
  • +2 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
Nogmaals dank aan @Jazsie en @Invisible_man
Resultaat van de eerste code:

Afbeeldingslocatie: https://tweakers.net/i/Bk0vrj0bW92OBVWSGZvwzke48dw=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/im06YF2d71m0mjOqpXXh37db.png?f=user_large

@Jazsie weet jij ook van die ultra silent mode?
Die staat niet op de sheet die ik heb namelijk, die kent alleen Smart / Silent / Turbo maar er moet ook een "geheime" ultra silent mode zijn als het goed is?

[ Voor 28% gewijzigd door GeeMoney op 01-05-2024 10:26 ]


Acties:
  • 0 Henk 'm!

  • xavier_82
  • Registratie: Juli 2017
  • Laatst online: 15:44
GeeMoney schreef op dinsdag 30 april 2024 @ 15:48:
[...]

Tot nog toe geen succes met HA. Blijf met Timeout meldingen zitten:

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
- name: waveshare1
  type: rtuovertcp
  host: 192.168.166.29
  port: 502
  message_wait_milliseconds: 32
  delay: 2
  timeout: 5
  binary_sensors:
    - name: "Fairland Status"
      address: 0
      scan_interval: 10
      slave: 0
      input_type: coil
HA maakt gebruik van pyModbus dus waarom een omweg van modbus -> node-red -> mqtt -> HA?

Je zou in je configuration.yaml het volgende kunnen zetten:

YAML:
1
modbus: !include modbus.yaml


In dezelfde folder maak je een modbus.yaml file aan en zet je het volgende:

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
- name: waveshare1
  type: tcp
  host: 192.168.166.29
  port: 502
  delay: 2
  timeout: 5
  binary_sensors:
    # AAN/UIT Status
    - name: "Fairland Status"
      address: 0
      scan_interval: 10
      slave: 1
      input_type: coil
  sensors:
    # Mode 0: Auto, 1: Heating, 2:Cooling
    - name: "Fairland Mode"
      address: 0
      scan_interval: 10
      slave: 1
      input_type: holding


Als het goed is zou dit na een restart moeten werken.

Acties:
  • 0 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
xavier_82 schreef op woensdag 1 mei 2024 @ 11:03:
[...]


HA maakt gebruik van pyModbus dus waarom een omweg van modbus -> node-red -> mqtt -> HA?

Je zou in je configuration.yaml het volgende kunnen zetten:

YAML:
1
modbus: !include modbus.yaml


In dezelfde folder maak je een modbus.yaml file aan en zet je het volgende:

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
- name: waveshare1
  type: tcp
  host: 192.168.166.29
  port: 502
  delay: 2
  timeout: 5
  binary_sensors:
    # AAN/UIT Status
    - name: "Fairland Status"
      address: 0
      scan_interval: 10
      slave: 1
      input_type: coil
  sensors:
    # Mode 0: Auto, 1: Heating, 2:Cooling
    - name: "Fairland Mode"
      address: 0
      scan_interval: 10
      slave: 1
      input_type: holding


Als het goed is zou dit na een restart moeten werken.
Zo probeer ik het ook te vertalen om inderdaad Node-RED helemaal niet te hoeven gebruiken maar exact jouw yaml heb ik zelf gefabriceerd maar krijg daar dus timeout/connection refused op binnen HA.

Ik probeer dit:

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
- name: waveshare1
  type: tcp
  host: 192.168.166.29
  port: 502
  message_wait_milliseconds: 32
  delay: 2
  timeout: 5
  binary_sensors:
    - name: "Fairland Status"
      address: 0
      scan_interval: 10
      slave: 1
      input_type: coil


Ook rtuovertcp geprobeerd maar werkte ook niet.

[ Voor 13% gewijzigd door GeeMoney op 01-05-2024 11:17 ]


Acties:
  • 0 Henk 'm!

  • xavier_82
  • Registratie: Juli 2017
  • Laatst online: 15:44
GeeMoney schreef op woensdag 1 mei 2024 @ 11:16:
[...]


Zo probeer ik het ook te vertalen om inderdaad Node-RED helemaal niet te hoeven gebruiken maar exact jouw yaml heb ik zelf gefabriceerd maar krijg daar dus timeout/connection refused op binnen HA.

Ik probeer dit:

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
- name: waveshare1
  type: tcp
  host: 192.168.166.29
  port: 502
  message_wait_milliseconds: 32
  delay: 2
  timeout: 5
  binary_sensors:
    - name: "Fairland Status"
      address: 0
      scan_interval: 10
      slave: 1
      input_type: coil


Ook rtuovertcp geprobeerd maar werkte ook niet.
“message_wait_milliseconds: 32” hoeft niet nog eens in je yaml te staan dit doet de waveshare al.

Ik ga er van uit dat je apparaat adres (slave) 1 is ( 1 - 16)

En ik ga ervan uit dat je node-red flow uit staat en niet in de achtergrond aan het draaien is.

En dat je 1 modbus interface heb ik je yaml.

Zou je bovenstaande kunnen controleren en dan het nogmaals proberen.

Acties:
  • 0 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
xavier_82 schreef op woensdag 1 mei 2024 @ 11:51:
[...]


“message_wait_milliseconds: 32” hoeft niet nog eens in je yaml te staan dit doet de waveshare al.

Ik ga er van uit dat je apparaat adres (slave) 1 is ( 1 - 16)

En ik ga ervan uit dat je node-red flow uit staat en niet in de achtergrond aan het draaien is.

En dat je 1 modbus interface heb ik je yaml.

Zou je bovenstaande kunnen controleren en dan het nogmaals proberen.
Allemaal correcte aannames maar met of zonder die milliseconds geen verbinding met HA richting waveshare.

Acties:
  • +1 Henk 'm!

  • xavier_82
  • Registratie: Juli 2017
  • Laatst online: 15:44
GeeMoney schreef op woensdag 1 mei 2024 @ 12:28:
[...]


Allemaal correcte aannames maar met of zonder die milliseconds geen verbinding met HA richting waveshare.
Zou je het volgende kunnen proberen, even kijken als we het kunnen debugen.

YAML:
1
2
3
4
logger:
  default: info
  logs:
    homeassistant.components.modbus: debug

Acties:
  • 0 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
xavier_82 schreef op woensdag 1 mei 2024 @ 12:38:
[...]

Zou je het volgende kunnen proberen, even kijken als we het kunnen debugen.

YAML:
1
2
3
4
logger:
  default: info
  logs:
    homeassistant.components.modbus: debug
Waar zet ik die logger?
Als ik die zo in de yaml erbij zet knalt hij erop dat logger geen onderdeel lis van modbus.

En ik zie nu deze:

Invalid config for 'modbus' at fairland.yaml, line 12: value must be one of ['holding', 'input'] for dictionary value 'modbus->0->sensors->0->input_type', got 'coil'

[ Voor 18% gewijzigd door GeeMoney op 01-05-2024 13:58 ]


Acties:
  • 0 Henk 'm!

  • xavier_82
  • Registratie: Juli 2017
  • Laatst online: 15:44
GeeMoney schreef op woensdag 1 mei 2024 @ 13:55:
[...]


Waar zet ik die logger?
Als ik die zo in de yaml erbij zet knalt hij erop dat logger geen onderdeel lis van modbus.

En ik zie nu deze:

Invalid config for 'modbus' at fairland.yaml, line 12: value must be one of ['holding', 'input'] for dictionary value 'modbus->0->sensors->0->input_type', got 'coil'
Logger zet je in je config yaml.

Bij de binary_sensor haal input_type: coil helemaal weg en probeer het dan.

Acties:
  • +1 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
xavier_82 schreef op woensdag 1 mei 2024 @ 14:06:
[...]


Logger zet je in je config yaml.

Bij de binary_sensor haal input_type: coil helemaal weg en probeer het dan.
Ok, twee tellen. HA is nu aan het herstarten. Ik heb alle nodes binnen Node-RED op Disabled gezet.

Krijg nou wat joh, response:

Afbeeldingslocatie: https://tweakers.net/i/6b933WfVzszponvQji15tjrZIMc=/800x/filters:strip_exif()/f/image/lwYXr8dJZL1EAD4ZmugZQfAp.png?f=fotoalbum_large

Die input_type mag dus niet op coil maar dat is nota bene ook de default. Wie verzint dat dan.

[ Voor 42% gewijzigd door GeeMoney op 01-05-2024 14:13 ]


Acties:
  • +1 Henk 'm!

  • xavier_82
  • Registratie: Juli 2017
  • Laatst online: 15:44
GeeMoney schreef op woensdag 1 mei 2024 @ 14:08:
[...]


Ok, twee tellen. HA is nu aan het herstarten. Ik heb alle nodes binnen Node-RED op Disabled gezet.

Krijg nou wat joh, response:

[Afbeelding]

Die input_type mag dus niet op coil maar dat is nota bene ook de default. Wie verzint dat dan.
d:)b *O*

Acties:
  • 0 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
value_temp is geen mogelijke optie.
Ik krijg bijvoorbeeld nu bij de status 0 of 1 terug. Met MQTT vertaal ik dat 0 is "Off" en 1 is "On" .
Voor temperatuur moet ik de value - 60 doen en delen door 2. Dit gaat nu niet of is daar een andere manier voor ?

Afbeeldingslocatie: https://tweakers.net/i/QOhRe_-UzSTO1QMSt-VvaQdCZUA=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/HtadQ1UE2j29gZLpvdXtxvTv.png?f=user_large

Daar moet dus respectievelijk komen:
"On"
"Smart"
"100%" (die is goed)
"24,5" (109 - 60 = 49 / 2 = 24,5)
"26,5" (113 - 60 = 53 / 2 = 26,5)

[ Voor 34% gewijzigd door GeeMoney op 01-05-2024 16:37 ]


Acties:
  • 0 Henk 'm!

  • xavier_82
  • Registratie: Juli 2017
  • Laatst online: 15:44
GeeMoney schreef op woensdag 1 mei 2024 @ 16:15:
[...]


value_temp is geen mogelijke optie.
Ik krijg bijvoorbeeld nu bij de status 0 of 1 terug. Met MQTT vertaal ik dat 0 is "Off" en 1 is "On" .
Voor temperatuur moet ik de value - 60 doen en delen door 2. Dit gaat nu niet of is daar een andere manier voor ?

[Afbeelding]

Daar moet dus respectievelijk komen:
"On"
"Smart"
"100%" (die is goed)
"24,5" (109 - 60 = 49 / 2 = 24,5)
"26,5" (113 - 60 = 53 / 2 = 26,5)
zou je je yaml voor deze 5 sensoren kunnen delen?

je kan template gebruiken om 0/1 naar aan/uit te zetten

YAML:
1
2
3
4
5
6
7
8
9
 - platform: template
    sensors:
      fairland_aan_uit_status:
        value_template: >
          {% if states.binary_sensor.NAAM.state == "1" %}
            Aan
          {% else %}
            Uit
          {% endif %}'


Je zou scale: 0.1 & precision: 1 aan je temperatuur sensoren kunnen meegeven, kijken wat dat doet anders met een offset werken.

Acties:
  • +1 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
xavier_82 schreef op woensdag 1 mei 2024 @ 17:19:
[...]


zou je je yaml voor deze 5 sensoren kunnen delen?

je kan template gebruiken om 0/1 naar aan/uit te zetten

YAML:
1
2
3
4
5
6
7
8
9
 - platform: template
    sensors:
      fairland_aan_uit_status:
        value_template: >
          {% if states.binary_sensor.NAAM.state == "1" %}
            Aan
          {% else %}
            Uit
          {% endif %}'


Je zou scale: 0.1 & precision: 1 aan je temperatuur sensoren kunnen meegeven, kijken wat dat doet anders met een offset werken.
Die value_template is niet beschikbaar toch bij de entity definitie ?

YAML:
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
- name: waveshare1
  type: tcp
  host: 192.168.166.29
  port: 502
  delay: 2
  timeout: 5
  sensors:
    - name: "Fairland Zwembad WPU Status"
      unique_id: "fairland_wpu_status"
      address: 0
      scan_interval: 10
      slave: 1
    - name: "Fairland Zwembad WPU Mode"
      unique_id: "fairland_wpu_mode"
      address: 1
      scan_interval: 10
      slave: 1
      input_type: holding
    - name: "Fairland Zwembad WPU Compressor Percent"
      unique_id: "fairland_wpu_compressor_percent"
      address: 0
      scan_interval: 10
      slave: 1
      input_type: input
      state_class: "measurement"
      unit_of_measurement: "%"
    - name: "Fairland Zwembad WPU Temp Inlet"
      unique_id: "fairland_wpu_water_inlet_temp"
      address: 3
      scan_interval: 10
      slave: 1
      input_type: input
      state_class: "measurement"
      device_class: "temperature"
      unit_of_measurement: "..C"              
    - name: "Fairland Zwembad WPU Temp Outlet"   
      unique_id: "fairland_wpu_water_outlet_temp"
      address: 4       
      scan_interval: 10
      slave: 1         
      input_type: input         
      state_class: "measurement" 
      device_class: "temperature"
      unit_of_measurement: "..C"

Acties:
  • +2 Henk 'm!

  • xavier_82
  • Registratie: Juli 2017
  • Laatst online: 15:44
GeeMoney schreef op woensdag 1 mei 2024 @ 17:21:
[...]


Die value_template is niet beschikbaar toch bij de entity definitie ?
probeer het even zo, wat doet het?

YAML:
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
- name: waveshare1
  type: tcp
  host: 192.168.166.29
  port: 502
  delay: 2
  timeout: 5
  binary_sensors:
    - name: "Fairland Zwembad WPU Status"
      unique_id: "fairland_wpu_status"
      address: 0
      scan_interval: 10
      slave: 1
  sensors:
    - name: "Fairland Zwembad WPU Mode"
      unique_id: "fairland_wpu_mode"
      address: 1
      scan_interval: 10
      slave: 1
      input_type: holding
    - name: "Fairland Zwembad WPU Compressor Percent"
      unique_id: "fairland_wpu_compressor_percent"
      address: 0
      scan_interval: 10
      slave: 1
      input_type: input
      state_class: "measurement"
      unit_of_measurement: "%"
    - name: "Fairland Zwembad WPU Temp Inlet"
      unique_id: "fairland_wpu_water_inlet_temp"
      address: 3
      scan_interval: 10
      slave: 1
      input_type: input
      precision: 1
      offset: -30
      scale: 0.5
      state_class: "measurement"
      device_class: "temperature"
      unit_of_measurement: "°C"              
    - name: "Fairland Zwembad WPU Temp Outlet"   
      unique_id: "fairland_wpu_water_outlet_temp"
      address: 4       
      scan_interval: 10
      slave: 1         
      input_type: input
      precision: 1
      offset: -30
      scale: 0.5
      state_class: "measurement" 
      device_class: "temperature"
      unit_of_measurement: "°C"

Acties:
  • 0 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
xavier_82 schreef op woensdag 1 mei 2024 @ 17:26:
[...]


probeer het even zo, wat doet het?

YAML:
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
- name: waveshare1
  type: tcp
  host: 192.168.166.29
  port: 502
  delay: 2
  timeout: 5
  binary_sensors:
    - name: "Fairland Zwembad WPU Status"
      unique_id: "fairland_wpu_status"
      address: 0
      scan_interval: 10
      slave: 1
  sensors:
    - name: "Fairland Zwembad WPU Mode"
      unique_id: "fairland_wpu_mode"
      address: 1
      scan_interval: 10
      slave: 1
      input_type: holding
    - name: "Fairland Zwembad WPU Compressor Percent"
      unique_id: "fairland_wpu_compressor_percent"
      address: 0
      scan_interval: 10
      slave: 1
      input_type: input
      state_class: "measurement"
      unit_of_measurement: "%"
    - name: "Fairland Zwembad WPU Temp Inlet"
      unique_id: "fairland_wpu_water_inlet_temp"
      address: 3
      scan_interval: 10
      slave: 1
      input_type: input
      precision: 1
      offset: -30
      scale: 0.5
      state_class: "measurement"
      device_class: "temperature"
      unit_of_measurement: "°C"              
    - name: "Fairland Zwembad WPU Temp Outlet"   
      unique_id: "fairland_wpu_water_outlet_temp"
      address: 4       
      scan_interval: 10
      slave: 1         
      input_type: input
      precision: 1
      offset: -30
      scale: 0.5
      state_class: "measurement" 
      device_class: "temperature"
      unit_of_measurement: "°C"
Goed bezig !

Afbeeldingslocatie: https://tweakers.net/i/FHzvUGhAyYFC_fTKiXDrujrlDMI=/800x/filters:strip_exif()/f/image/cYc1pb4rfQX3oZpEAQGKS8Cd.png?f=fotoalbum_large

De WPU mode moet tekst krijgen afhankelijk van het cijfer.

Acties:
  • 0 Henk 'm!

  • xavier_82
  • Registratie: Juli 2017
  • Laatst online: 15:44
GeeMoney schreef op woensdag 1 mei 2024 @ 17:45:
[...]
De WPU mode moet tekst krijgen afhankelijk van het cijfer.
Dat kan je doen via de template sensor in je config.yaml.

Syntax is ongeveer hetzelfde als een paar post geleden.

Acties:
  • 0 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
xavier_82 schreef op woensdag 1 mei 2024 @ 20:11:
[...]


Dat kan je doen via de template sensor in je config.yaml.

Syntax is ongeveer hetzelfde als een paar post geleden.
Ik heb hem !

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
sensor:
  - platform: template
    sensors:               
      fairland_wpu_mode:
        friendly_name: "Zwembad WPU Mode"
        value_template: >
          {% if states.sensor.fairland_zwembad_wpu_mode.state == "0" %}
          Smart                   
          {% elif states.sensor.fairland_zwembad_wpu_mode.state == "1" %}
          Silence                                            
          {% elif states.sensor.fairland_zwembad_wpu_mode.state == "2" %}
          Super Silence         
          {% elif states.sensor.fairland_zwembad_wpu_mode.state == "3" %}
          Turbo                                         
          {% endif %}

Afbeeldingslocatie: https://tweakers.net/i/UCeXf8QB_GwSTTOspFQz43S5u44=/800x/filters:strip_exif()/f/image/zZIord3wRzXC1hxG1m0xZ1fj.png?f=fotoalbum_large

@Jazsie heb jij wellicht een write voorbeeld in Node-RED ? Om bijvoorbeeld de pomp aan/uit te zetten of de mode te kiezen? (Smart/Silence)


Momenteel lees ik het volgende uit:
Afbeeldingslocatie: https://tweakers.net/i/krTctS1-GCQa8-nezIV-aOwYrJs=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/WLnTP5rZFxCDjJ47cYNGFwHh.png?f=user_large

Door middel van deze modbus HA code:
YAML:
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
- name: waveshare1
  type: tcp
  host: 192.168.166.29
  port: 502
  delay: 2
  timeout: 5
  binary_sensors:
    - name: "Fairland Zwembad WPU Status"
      unique_id: "fairland_wpu_status"
      address: 0
      scan_interval: 10
      slave: 1
  sensors:
    - name: "Fairland Zwembad WPU Mode"
      unique_id: "fairland_wpu_mode"
      address: 1
      scan_interval: 10
      slave: 1
      input_type: holding
    - name: "Fairland Zwembad WPU Compressor Percent"
      unique_id: "fairland_wpu_compressor_percent"
      address: 0
      scan_interval: 10
      slave: 1
      input_type: input
      state_class: "measurement"
      unit_of_measurement: "%"
    - name: "Fairland Zwembad WPU Temp Inlet"
      unique_id: "fairland_wpu_water_inlet_temp"
      address: 3
      scan_interval: 10
      slave: 1
      input_type: input
      precision: 1
      offset: -30
      scale: 0.5
      state_class: "measurement"
      device_class: "temperature"
      unit_of_measurement: "°C"              
    - name: "Fairland Zwembad WPU Temp Outlet"   
      unique_id: "fairland_wpu_water_outlet_temp"
      address: 4       
      scan_interval: 10
      slave: 1         
      input_type: input
      precision: 1
      offset: -30
      scale: 0.5
      state_class: "measurement" 
      device_class: "temperature"
      unit_of_measurement: "°C"
    - name: "Fairland Zwembad WPU Heating Temp Setpoint" 
      unique_id: "fairland_wpu_heating_temp"   
      address: 3
      scan_interval: 10
      slave: 1   
      input_type: holding                
      precision: 1                    
      offset: -30
      scale: 0.5       
      state_class: "measurement"
      device_class: "temperature"
      unit_of_measurement: "°C"
    - name: "Fairland Zwembad WPU Compressor Amp "
      unique_id: "fairland_wpu_compressor_amp"
      address: 11
      scan_interval: 10
      slave: 1
      input_type: input
      scale: 0.1
      precision: 2
      state_class: "measurement"
      device_class: "energy"
      unit_of_measurement: "A"
    - name: "Fairland Zwembad WPU PFC Volt "
      unique_id: "fairland_wpu_pfc_volt"
      address: 2
      scan_interval: 10
      slave: 1
      input_type: input
      state_class: "measurement"
      device_class: "energy"
    - name: "Fairland Zwembad WPU Ambient Temp" 
      unique_id: "fairland_wpu_ambient_temp"   
      address: 5
      scan_interval: 10
      slave: 1   
      input_type: input
      precision: 1                    
      offset: -30
      scale: 0.5       
      state_class: "measurement"
      device_class: "temperature"
      unit_of_measurement: "°C"


configuration.yaml:
YAML:
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
sensor:
  - platform: template
    sensors:               
      fairland_wpu_mode:
        friendly_name: "Zwembad WPU Mode"
        unique_id: "Zwembad WPU Mode"
        value_template: >
          {% if states.sensor.fairland_zwembad_wpu_mode.state == "0" %}
          Smart                   
          {% elif states.sensor.fairland_zwembad_wpu_mode.state == "1" %}
          Silence                                            
          {% elif states.sensor.fairland_zwembad_wpu_mode.state == "2" %}
          Super Silence         
          {% elif states.sensor.fairland_zwembad_wpu_mode.state == "3" %}
          Turbo                                         
          {% endif %}
  - platform: template
    sensors:               
      fairland_wpu_power:
        friendly_name: "Zwembad WPU Power"
        unique_id: "Zwembad WPU Power"
        unit_of_measurement: "W"
        value_template: >
          {% set voltage = states('sensor.fairland_zwembad_wpu_pfc_volt') | float %}
          {% set ampere = states('sensor.fairland_zwembad_wpu_compressor_amp') | float %}

          {{ ((voltage * ampere) ) | round(1, default=0) }}


Edit: Verkeerde register uitgelezen voor de compressor, in bovenstaande code is het gecorrigeerd. Verbruik komt nu precies overeen met p1 meter !

[ Voor 105% gewijzigd door GeeMoney op 02-05-2024 19:31 ]


Acties:
  • +1 Henk 'm!

  • xavier_82
  • Registratie: Juli 2017
  • Laatst online: 15:44
GeeMoney schreef op woensdag 1 mei 2024 @ 21:17:.
@xavier_82 ik wil de Watts alleen met een . hebben in de duizendtallen en geen , . Kan ik dit makkelijk wijzigen ergens?
Profiel -> nummer formaat

Daar kan je selecteren waar de . & , geplaatst worden.

Acties:
  • 0 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
xavier_82 schreef op donderdag 2 mei 2024 @ 10:32:
[...]


Profiel -> nummer formaat

Daar kan je selecteren waar de . & , geplaatst worden.
Top, ik zie dat ik alles nog op de komma notatie heb staan trouwens, ook van mijn reguliere meters :P .
Ah, is een system-wide setting als het ware, makkelijk. Top.

Wat zal ik doen met die 400watt die het apparaat zelf verbruikt ongeveer ? Gewoon bij die state erbij tellen ?

Ik heb die 400watt erbij op laten tellen en dat komt zeer goed overeen met de P1 meter nu :)

Ik las het verkeerde register uit, aangepast in alle voorbeeld code ook, berekening klopt nu precies!

@xavier_82 en @Jazsie nogmaals dank voor alle ondersteuning! Ik ben voor 90% rond, alleen nog de pomp aan/uit kunnen schakelen en de mode kunnen bepalen dan ben ik een blij man. Inmiddels ook alle sensoren in Fibaro beschikbaar gemaakt. (via HA) .

Kan dat ongeveer zo:
YAML:
1
2
3
4
5
6
7
8
9
10
script:
  description: "Zwembad WPU Aan/Uit Schakelaar"
  sequence:
    - service: modbus.write_register
      data_template:
        hub: waveshare1
        unit: 1
        address: 0
        command_on: 1
        command_off: 0

[ Voor 66% gewijzigd door GeeMoney op 02-05-2024 20:26 ]


Acties:
  • 0 Henk 'm!

  • Jazsie
  • Registratie: Juni 2006
  • Laatst online: 23:10
Lekker bezig,

Benieuwd naar de configuratie om te schrijven naar modbus, is mij tot heden ook niet gelukt...

Zwembad staat nog uit, kom momenteel helaas niet bij configuratie.

3600 Wp op 0° (vrijwel plat) | 3900Wp op 10°


Acties:
  • +1 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
Jazsie schreef op donderdag 2 mei 2024 @ 17:17:
Lekker bezig,

Benieuwd naar de configuratie om te schrijven naar modbus, is mij tot heden ook niet gelukt...

Zwembad staat nog uit, kom momenteel helaas niet bij configuratie.
Schrijven is gelukt !
Dit zorgt ervoor dat de pomp uit gaat:
YAML:
1
2
3
4
5
6
service: modbus.write_coil
data:
  hub: waveshare1
  state: 0
  slave: 1
  address: 0


Dit zorgt ervoor dat hij aan gaat:
YAML:
1
2
3
4
5
6
service: modbus.write_coil
data:
  hub: waveshare1
  state: 1
  slave: 1
  address: 0


yes, yes, yes!

Activeren super silent mode:
YAML:
1
2
3
4
5
6
service: modbus.write_register
data:
  hub: waveshare1
  address: 1
  slave: 1
  value: 2


Activeren normal mode:
YAML:
1
2
3
4
5
6
service: modbus.write_register
data:
  hub: waveshare1
  address: 1
  slave: 1
  value: 0


Activeren Silent:
YAML:
1
2
3
4
5
6
7
Silent mode:
service: modbus.write_register
data:
  hub: waveshare1
  address: 1
  slave: 1
  value: 1


Activeren Turbo (mits beschikbaar)
YAML:
1
2
3
4
5
6
7
Silent mode:
service: modbus.write_register
data:
  hub: waveshare1
  address: 1
  slave: 1
  value: 3


Op "normal" gaat de compressor naar 100%. Op "Silent" gaat hij naar 80% , op "Super Silent" naar 24%
Dat is respectievelijk in mijn geval: 2300Watt, 1800Watt, 330Watt.
Wat ik gedaan heb is de setpoint even 4 graden boven de huidige inlet temp gezet.
Dan gaat hij op 100% normal mode ongeveer 1,5 graad warmer uit sturen dan hij binnen krijgt.
Op de 80% Silent mode zit daar ongeveer een graad tussen.
Op de Super Silent mode zit er een halve graad tussen.

@xavier_82 heb jij een idee hoe ik dit nu als script/template binnen HA als beschikbare knoppen krijg?

Ik heb onderstaande gevonden maar zie nog even niet hoe ik dat naar mijn verhaal kan vertalen:
Dit kan namelijk niet werken omdat je binnen het script geen data: mag doen.

YAML:
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
script:
  write_register_turn_on_bit:
    sequence:
      - service: modbus.write_register
        data:
          hub: "{{ hub }}"
          unit: "{{ unit }}"
          address: "{{ address }}"
          value: "{{ states(sensor_value) | int(default=0) | bitwise_or(2 ** (bit | int - 1)) }}"
      - service: homeassistant.update_entity
        data:
          entity_id: "{{ sensor_value }}"

  write_register_turn_off_bit:
    sequence:
      - service: modbus.write_register
        data:
          hub: "{{ hub }}"
          unit: "{{ unit }}"
          address: "{{ address }}"
          value: "{{ states(sensor_value) | int(default=0) | bitwise_and(65535 - (2 ** (bit | int - 1))) }}"
      - service: homeassistant.update_entity
        data:
          entity_id: "{{ sensor_value }}"
 
switch:
  - platform: template
    switches:
      Fire_alarm_relay_output:
        value_template: >
          {% set bit = 1 %}
          {{ states('sensor.modbus_holding_register') | int(default=0) | bitwise_and(2 ** (bit | int - 1)) > 0 }}
        turn_on:
          - service: script.write_register_turn_on_bit
            data:
              bit: 1
              hub: heru
              unit: 1
              address: 45
              sensor_value: sensor.modbus_holding_register
        turn_off:
          - service: script.write_register_turn_off_bit
            data:
              bit: 1
              hub: heru
              unit: 1
              address: 45
              sensor_value: sensor.modbus_holding_register

[ Voor 84% gewijzigd door GeeMoney op 02-05-2024 20:59 ]


Acties:
  • +3 Henk 'm!

  • xavier_82
  • Registratie: Juli 2017
  • Laatst online: 15:44
@GeeMoney

Goed bezig!

Zet onderstaand in je modbus.yaml en je hebt een AAN/UIT switch.

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
   switches:
      - name: Zwembad WPU Aan/Uit Schakelaar
        unique_id: #eigen unique id
        slave: 1
        address: 0
        command_on: 1
        command_off: 0
        write_type: coil
        verify:
            input_type: coil
            address: 0
            delay: 1
            state_on: 1
            state_off: 0


Je zou met een input select kunnen werken voor je wp mode (voorbeeld)

Acties:
  • 0 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
xavier_82 schreef op donderdag 2 mei 2024 @ 21:15:
@GeeMoney

Goed bezig!

Zet onderstaand in je modbus.yaml en je hebt een AAN/UIT switch.

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
   switches:
      - name: Zwembad WPU Aan/Uit Schakelaar
        unique_id: #eigen unique id
        slave: 1
        address: 0
        command_on: 1
        command_off: 0
        write_type: coil
        verify:
            input_type: coil
            address: 0
            delay: 1
            state_on: 1
            state_off: 0


Je zou met een input select kunnen werken voor je wp mode (voorbeeld)
Ga ik gelijk proberen.
Ik heb het nu werkend door een automation te maken en een helper toggle switch :+ .

Jemig wat wordt dit mooi _/-\o_ :9~

@xavier_82 ik heb even via de GUI een input_select gemaakt (Add Helper -> Dropdown) met 3 opties:
Smart - Silence - Super Silence

Daar heb ik een automation aangehangen met een trigger op elk van de opties dat hij de juiste modbus afvuurt.
Dit werkt fantastisch 8) .
Ik heb dus nu alles voor elkaar wat ik wilde. Ik zal proberen een mooie opsomming te maken.

[ Voor 81% gewijzigd door GeeMoney op 02-05-2024 23:12 ]


Acties:
  • +1 Henk 'm!

  • xavier_82
  • Registratie: Juli 2017
  • Laatst online: 15:44
GeeMoney schreef op donderdag 2 mei 2024 @ 21:27:
[...]


Ga ik gelijk proberen.
Ik heb het nu werkend door een automation te maken en een helper toggle switch :+ .

Jemig wat wordt dit mooi _/-\o_ :9~

@xavier_82 ik heb even via de GUI een input_select gemaakt (Add Helper -> Dropdown) met 3 opties:
Smart - Silence - Super Silence

Daar heb ik een automation aangehangen met een trigger op elk van de opties dat hij de juiste modbus afvuurt.
Dit werkt fantastisch 8) .
Ik heb dus nu alles voor elkaar wat ik wilde. Ik zal proberen een mooie opsomming te maken.
d:)b

Acties:
  • +2 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
Huidige dashboard HA:

Afbeeldingslocatie: https://tweakers.net/i/nOg8kkNIufCcUz2UsauzfVpzwQw=/x800/filters:strip_exif()/f/image/15FQwzFomUBCLNYqiOHatsxv.png?f=fotoalbum_large

Huidige in Fibaro:
Afbeeldingslocatie: https://tweakers.net/i/GilcS4y2upZlo-GpTnj8pn3cXHE=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/cS17QoDMKAal7lsP0ZTepSoe.png?f=user_large

Afbeeldingslocatie: https://tweakers.net/i/NKVOCQigSpPZbh-OJQswhksJDM0=/800x/filters:strip_exif()/f/image/ypjPB6TqBPNNC7ktm5AIx9cc.png?f=fotoalbum_large

Alle aansturing doe ik feitelijk vanuit Fibao.
Een voorbeeld scène in Fibaro:

Ik doe nu dus:
Tussen 07:30 en 10:00 uur in de ochtend kijk dan of:
1. De waterpomp aanstaat ten minste 15min.
2. De ambient temp gemeten door de WPU >15 graden + is. <-- trigger
3. De water temp is >26 graden maar <29 .
3. Zet dan de WPU aan op Silence.

OF

1. De waterpomp aanstaat ten minste 15min.
2. De water temp is <=25 graden.
3. Zet dan de WPU aan op Normal.

OF

1. De waterpomp aanstaat ten minste 15min.
2. Het is exact 10:00 uur.
3. De WPU status is nog Off
4. Zet dan onherroepelijk de WPU aan op Super Silence.

Op deze manier heb ik dus geen koud water, de WPU gaat zo laat mogelijk pas aan mits aan de voorwaarden wordt voldaan; het water niet meer op temperatuur, de buiten temp = ten minste 15 graden of hoger, of het is klokslag 10:00 uur.

Nog een ander voorbeeld scène in Fibaro (ook wel automation in HA genoemd) elke 15min:
1. Als de WPU ten minste 30min actief is.
2. De water temp ten minste 27 graden is.
3. De ambient temp ten minste 21 graden is.
4. Zet de WPU dan op Super Silence mode.

Enfin, het idee is duidelijk.
Vorig jaar deed ik de WPU van 07:30 uur tot 21:30 uur aan op standje Silence verder niets slims.
Nu schakel ik hem pas in het eerste voorbeeld alleen als het nodig is en als alle voorwaarden goed zijn, schakel ik hem dus ruim 2,5 uur later aan dan vorig jaar.
In de avond doe ik het omgekeerde van de ochtend, als het na 19:00 uur het water ten minste 27 graden is en de ambient temp komt onder de 15 graden schakel dan uit etc.
Dankzij de Super Silence mode kan het gemiddeld verbruik van 1800watt terug zakken naar theoretisch 330watt maar het zal er tussenin liggen. In ieder geval een behoorlijk besparing als ik dit nu al 2 uur per dag weet te doen.
Kleine disclaimer dat de scènes/automations nog work in progress zijn. Praktijk zal hier waarschijnlijk nog wijzigingen op geven.

@Jazsie een modbus write is lastiger in Node-RED dan in HA omdat je niet in deze node (modus-write) ook je value mee kan geven. Ik heb het even geprobeerd werkend voor je te maken binnen Node-RED maar dat is mij (nog) niet gelukt. Binnen HA is het letterlijk een read maar dan met een service aanroepen erbij, verder identiek. Je wilt bij Node-RED blijven? Ik gebruik het nergens voor dus vandaar dat ik naar HA aan het kijken was icm Fibaro probeer ik dat als enige erin te houden om te voorkomen dat ik uiteindelijk met 12 tools, 8 protocollen en 4 dashboards zit :+ .

[ Voor 93% gewijzigd door GeeMoney op 03-05-2024 01:18 ]


Acties:
  • 0 Henk 'm!

  • Jazsie
  • Registratie: Juni 2006
  • Laatst online: 23:10
Dat ziet er heel netjes uit !

Waarom gebruik je Fibaro? Als in, waarom niet gewoon alles in HA?
HA is mijn enige dashboard/controller, kom van OpenHAB af.

Ik heb alles in Node-RED, ook de automations en modbus vind ik juist fijn in Node-RED.
Inderdaad probeer ik ook alles in HA/Node-RED te houden, anders zit je met N tools wat het niet overzichtelijker maakt :+.

Alles heb ik daar in werkend alleen zwembad is in winterslaap en dus ook die HA instantie met de configuratie...
De codes die ik hier heb gepost, had ik op mijn "wikipedia" staan :9.

3600 Wp op 0° (vrijwel plat) | 3900Wp op 10°


Acties:
  • 0 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
Jazsie schreef op vrijdag 3 mei 2024 @ 08:21:
Dat ziet er heel netjes uit !

Waarom gebruik je Fibaro? Als in, waarom niet gewoon alles in HA?
HA is mijn enige dashboard/controller, kom van OpenHAB af.

Ik heb alles in Node-RED, ook de automations en modbus vind ik juist fijn in Node-RED.
Inderdaad probeer ik ook alles in HA/Node-RED te houden, anders zit je met N tools wat het niet overzichtelijker maakt :+.

Alles heb ik daar in werkend alleen zwembad is in winterslaap en dus ook die HA instantie met de configuratie...
De codes die ik hier heb gepost, had ik op mijn "wikipedia" staan :9.
Het is een discussie en kwestie van smaak die geen winnaars kent denk ik :) .
Ik zit al zeker 8-10 jaar volledig op Fibaro en alle devices, scènes en aansturing doe ik vanuit Fibaro. Ik heb 1 app en 1 dashboard in huis op een iPad en alle mobieltjes allemaal netjes werkend en zeker voor de look & feel wil ik niet over naar HA. Dat is toch vaak net even meer geknutsel en echt knappe dashboards maken is lastig of er gaat weer wat stuk (in 4 maanden dat ik het heb, al 3x meegemaakt :+ ) .

Het is gewoon een eco systeem wat werkt en ik vind het er goed genoeg uit zien en het is vooral functioneel zonder veel te moeten "rommelen". Het nadeel aan Fibaro is dat het een gesloten systeem is dus sommige ontwikkelingen duren daar wat langer. Bijvoorbeeld mijn Audi auto integratie, die is er alleen voor HA en Domoticz maar niet voor Fibaro. Dat was de reden dat ik met HA ben begonnen.
Modbus TCP kan ook direct in Fibaro, dat is de volgende stap als ik eens tijd heb maar voor nu is dit meer dan prima.
De pomp is 3 minuten geleden aangesprongen :)

[ Voor 20% gewijzigd door GeeMoney op 03-05-2024 08:52 ]


Acties:
  • +1 Henk 'm!

  • Jazsie
  • Registratie: Juni 2006
  • Laatst online: 23:10
FIbaro ziet er idd ook niet slecht uit, als je daar al op zit dan kan je inderdaad HA gewoon gebruiken als "gateway".

Top dat het geheel werkt. Moet mijn "Pool" dashboard ook maar eens een update geven :P.

3600 Wp op 0° (vrijwel plat) | 3900Wp op 10°


Acties:
  • +3 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
Jazsie schreef op zaterdag 4 mei 2024 @ 15:16:
FIbaro ziet er idd ook niet slecht uit, als je daar al op zit dan kan je inderdaad HA gewoon gebruiken als "gateway".

Top dat het geheel werkt. Moet mijn "Pool" dashboard ook maar eens een update geven :P.
Nogmaals onwijs bedankt voor de tips en de kabel(s) ! .
Ik heb de start post een update gegeven met alle info om tot een werkende situatie te komen die volgens mij iedereen nu moet kunnen volgen.

Acties:
  • +1 Henk 'm!

  • The Source
  • Registratie: April 2000
  • Laatst online: 22:02
Mooi topic, nu ik eindelijk mijn zwembad pomp en technopool op afstand kan aan en uitzetten was ik op zoek naar iets voor mijn waterpomp. Ik ga eens kijken of mijn IXR50 dit ook allemaal kan en dan eens uitzoeken hoe ik dit in Homey krijg.

Omdat ik geen losse temperatuur sensor heb, wilde ik de waterpomp temp pakken en dan aan de hand van buitentemp, tijdstip en of er mensen aanwezig zijn het zwembad bijverwarmen.

[ Voor 27% gewijzigd door The Source op 08-05-2024 20:47 ]


Acties:
  • 0 Henk 'm!

  • The Source
  • Registratie: April 2000
  • Laatst online: 22:02
Mijn Fairland Turbo Silencetech Swimming Pool heat Pump IXR50 flow sensor is kapot (E3 code met waterflow) of verschoven door te hoge waterdruk.

Heeft iemand een handleiding of aanwijzingen hoe ik deze kan open schroeven? Volgens mijn moet eerst de zijkant eraf, dan de voorkant(?) en dan pas de bovenste ring. Ik zie de flow sensor zitten, maar ik denk dat ik die er niet uit kan krijgen zonder dat de bovenste ring eraf gaat.

[ Voor 5% gewijzigd door The Source op 11-05-2024 13:06 ]


Acties:
  • 0 Henk 'm!

  • Jazsie
  • Registratie: Juni 2006
  • Laatst online: 23:10
Flowsensor is infeite een schakelaar, wellicht eerst even testen of ie ook echt stuk is voordat je, je wp half uit elkaar moet om erbij te komen?

Aansturing zit bij mij bovenin. Deksel eraf en je komt er bij, aan de binnenzijde van de deksel zit als goed is ook de schema (bij mij wel iig).

Effe met meter testen of baypass op de connector om zeker te weten dat ie stuk is :)

3600 Wp op 0° (vrijwel plat) | 3900Wp op 10°


Acties:
  • 0 Henk 'm!

  • The Source
  • Registratie: April 2000
  • Laatst online: 22:02
Jazsie schreef op zaterdag 11 mei 2024 @ 13:22:
Flowsensor is infeite een schakelaar, wellicht eerst even testen of ie ook echt stuk is voordat je, je wp half uit elkaar moet om erbij te komen?

Aansturing zit bij mij bovenin. Deksel eraf en je komt er bij, aan de binnenzijde van de deksel zit als goed is ook de schema (bij mij wel iig).

Effe met meter testen of baypass op de connector om zeker te weten dat ie stuk is :)
Als ik kap eraf haal zie ik dit. Flow sensor zit links voor. Rood zijn allemaal schroefjes.
Met waterflow krijg ik E3, dus volgende stap is de flow sensor eruit halen om te kijken of die niet dwars zit of kapot is. Ik weet niet
Afbeeldingslocatie: https://tweakers.net/i/XKY9ua6y_ybiA3wpQrx-SXGUHs0=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/UpGtj4n5GjvKFojRgotVaLw3.png?f=user_large

Afbeeldingslocatie: https://tweakers.net/i/ulljK-V442gu0bNJ4f8D5IenbG8=/800x/filters:strip_exif()/f/image/cm0zQ8Cb66Bu0eaxOk2WLxSV.png?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/fRseFcMqAWZe_yvisoRcqDaDLu0=/800x/filters:strip_exif()/f/image/hw8ENLBxjRYVTFsSgmu5s0rJ.png?f=fotoalbum_large

Acties:
  • 0 Henk 'm!

  • Jazsie
  • Registratie: Juni 2006
  • Laatst online: 23:10
Ahh, heb blijkbaar op verkeerd model gezocht want ik kwam horizontale versie tegen maar jij hebt verticaal.

Vrees dat je toch al die schroeven moet los halen om erbij te komen...

Persoonlijk zou ik de sensor niet eruit halen maar eerder via de connector op de printplaat meten of een bypass doen om te testen.

Maar dan ga ik even ervan uit dat je makkelijker bij de "controller" kan komen :).

3600 Wp op 0° (vrijwel plat) | 3900Wp op 10°


Acties:
  • +2 Henk 'm!

  • The Source
  • Registratie: April 2000
  • Laatst online: 22:02
Flow sensor probleem is opgelost.
1. waterpomp hoeft niet helemaal uit elkaar, ik kon erbij en hem eruit halen door hem een beetje te buigen (overigens niet aan te raden lijkt mij). Helaas een 20 tal schroeven te laat dat ik hier achterkwam.
2. Flow sensor eruit gehaald en zonder water getest, door palletje naar achteren te duwen, ventilator wilde aanspringen, dus sensor werkte.
3. In voorgaande foto zie je al dat hij niet recht op de leiding zat, dus door te hard flow versprongen / verschoven. Nog even gedacht dat hij niet in de leiding werkte omdat ik de flowsensor achterstevoren had geplaatst, ik dacht dat de flowsensor bij incoming water zat, maar kennelijk bij het uitgaande verwarmde water.
4. Dus met juiste plaatsing flow sensor werkt alles weer ;)
5. Nu op zoek naar de automatisering van dit ding.....

Acties:
  • 0 Henk 'm!

  • The Source
  • Registratie: April 2000
  • Laatst online: 22:02
Ik ben (nog) niet bekend met Modbus en POE. Ik kreeg ook niet alle schroeven los (zie hierboven) dus bij de PCB / Besturings kast kan ik nog niet komen.

Voorlopig een Zigbee enkel fase DIN power meter in mijn meterkast gezet.

Afbeeldingslocatie: https://tweakers.net/i/-EBOUksqeGmjdj2J-BLqwH8exFU=/800x/filters:strip_exif()/f/image/uBB3UwhzeF0gZ0o4OuUs8h1Z.png?f=fotoalbum_large

Die lees ik in Homey uit. Ik schrik er van dat die warmte pomp bijna 3KW gebruikt in boost modes. Ik dacht; hij verbruikt 1KW en met een COP van 4 of 5 wordt dat 5K wat de waarde van mijn warmte pomp is.

Zojuist even alle standen getest:
Afbeeldingslocatie: https://tweakers.net/i/3MGbnT6kGnNgFXYrCarJGgvALYw=/800x/filters:strip_exif()/f/image/U6AYm1C00sNugSx49ECUDqB4.png?f=fotoalbum_large

Dus mijn plan is als volgt:
- Bij voldoende terug levering zet ik de zwembad pomp aan.
- Als water temp te laag is en er is naast de zwembad pomp nog steeds genoeg energie dan zet ik ook de warmtepomp aan.
- Na x tijd draaien (kan water temp zijn, kan gratis zonne energie zijn) schakel ik eerst de zwembad pomp uit.
- Hierdoor krijgt de warmwater pomp geen flow meer en staakt die ook zijn werk en naar paar mijn ook in standby (?) modes. Daarna denk ik deze ook uit te mogen schakelen.

Paar vraagjes;
- Ik denk dat stroom van warmwater pomp tijdens gebruik afhalen schade kan veroorzaken, klopt dit.
- waarom is er een grote piek in het stroom verbruik als ik de waterflow stop? Kost het uitschakelen van de waterpomp zoveel extra? Of loopt vermogen op omdat hij wel draait maar er geen water is.

Helaas kan ik de stand van de pomp in een flow NIET aansturen, totdat ik die modbus oplossing werkend ga krijgen. Dat zal in mijn voorbeeld nog steeds handmatig via de cloud app moeten. Onafhankelijk zijn van de chinese cloud is wel interessant. Hier bij mijn flow (setup... nog moet nog heel wat dingen beter uitwerken. Warmtepomp aansturing moet ik nog maken, aanzetten pomp op verwachte zon opbrengst, ik kan helaas nog niet de water temp meten... :)

Afbeeldingslocatie: https://tweakers.net/i/beYzXoWQRMjCYy6e7810BGZS0s8=/800x/filters:strip_exif()/f/image/SjLIojWat9jU0sNVuenpTD1D.png?f=fotoalbum_large

Acties:
  • 0 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
@The Source het helpt denk ik wel als je voor warmtepomp even WPU gebruikt en waterpomp gebruikt voor inderdaad je waterpomp. Nu moet je goed opletten :).
Ik schakel zelf mijn WPU op basis van water temp, omgevings temp en energie. Ik heb dan ook al wel mijn P1 meter gegevens beschikbaar naast de WPU en de waterpomp dus ik kan alles sturen.
Het opstarten van de waterpomp kan inderdaad een piek nodig hebben want hij moet aanzuigen en als er eenmaal flow is zakt hij terug.

Temps uitlezen van je WPU kan ook interessant zijn want dan zie je het verschil tussen boost of niet en hoelang het dan duurt om in die standen je water op temp te krijgen.
Omgevingstemperatuur speelt ook een belangrijke rol, de meeste WPU’s worden pas efficiënt bij 15 graden of hoger, daaronder is het rendement vaak een stuk slechter.

Je waterpomp zet je aan om voornamelijk je water gezond te houden niet persé op energie. Stelregel is dat je tenminste 2x je bad rond pompt per dag.
Dus met 3 kuub per uur en een bad van 10 kuub moet je minimaal 6,5 uur per dag je waterpomp aan hebben.

[ Voor 55% gewijzigd door GeeMoney op 01-06-2024 17:11 ]


Acties:
  • +1 Henk 'm!

  • Tieled
  • Registratie: September 2021
  • Laatst online: 25-04 20:09
Kleine heads-up, dankzij deze tread is het gelukt om de warmtepomp via waveshare modbus aan te sturen, super silent (24%) voor 14u samen met de zon, ipv 4u aan 80% + nog wat nazinderen is eigenlijk wel efficiënt!

Bedankt!

PS Nu node red nog wat tweaken, niemand heeft een flow liggen om van te vertrekken?

Acties:
  • +1 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
Tieled schreef op zondag 14 juli 2024 @ 10:41:
Kleine heads-up, dankzij deze tread is het gelukt om de warmtepomp via waveshare modbus aan te sturen, super silent (24%) voor 14u samen met de zon, ipv 4u aan 80% + nog wat nazinderen is eigenlijk wel efficiënt!

Bedankt!

PS Nu node red nog wat tweaken, niemand heeft een flow liggen om van te vertrekken?
In de topicstart staat een voorbeeld flow voor Node-RED. Dat geeft je de basis om te communiceren naar de warmtepomp. Samen met de modbus registers moet je dan een aardig eind kunnen komen.

Acties:
  • +4 Henk 'm!

  • spdr870
  • Registratie: December 2023
  • Laatst online: 19-05 15:07
Ik heb met de informatie uit dit topic deze mod uit kunnen voeren. Het was mij nooit gelukt zonder deze informatie! Het was nog wel flink puzzelen.

Het resultaat:
Afbeeldingslocatie: https://tweakers.net/i/cucuSd2uVrayu9-DknBpm9OWKuk=/x800/filters:strip_icc():strip_exif()/f/image/NjrVKxzvvVHRsrpLRfAK0miR.jpg?f=fotoalbum_large

Ik heb het project hier gedocumenteerd, in de hoop dat het anderen helpt:
https://github.com/spdr87...bus/blob/master/readme.md

[ Voor 13% gewijzigd door spdr870 op 11-03-2025 21:41 ]


Acties:
  • 0 Henk 'm!

  • lvelve
  • Registratie: Juni 2008
  • Laatst online: 27-04 13:51
spdr870 schreef op dinsdag 11 maart 2025 @ 20:48:
Ik heb met de informatie uit dit topic deze mod uit kunnen voeren. Het was mij nooit gelukt zonder deze informatie! Het was nog wel flink puzzelen.

Ik heb het project hier gedocumenteerd, in de hoop dat het anderen helpt:
https://github.com/spdr87...bus/blob/master/readme.md
Zeer interessant. Ik heb exact dezelfde warmtepomp en heb vorig jaar wat liggen "klooien" met Tuya local/Local Tuya. Maar ik kreeg het niet voor elkaar.

Ik wil nu deze oplossing gaan proberen. Met een Waveshare RS485 to WIFI/Ethernet Module (ik heb geen LAN kabels liggen, maar wel WiFi bij de warmtepomp).

Ik wil alle hardware/kabels e.d. gaan bestellen, maar ik weet niet welke connector ik nodig heb voor de RS485 aansluiting op het mainboard van de Fairland. Welk type is dit? Waar vind ik die? En zit er op deze connector ook 12V aansluiting? Op een foto die je postte, lijkt dat wel zo. Zo ja, zou ik dan daar de voeding voor Waveshare vanaf kunnen halen? Dan zou ik wellicht alles in de warmtepomp zelf kunnen inbouwen.

Acties:
  • +1 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
lvelve schreef op dinsdag 1 april 2025 @ 22:39:
[...]

Zeer interessant. Ik heb exact dezelfde warmtepomp en heb vorig jaar wat liggen "klooien" met Tuya local/Local Tuya. Maar ik kreeg het niet voor elkaar.

Ik wil nu deze oplossing gaan proberen. Met een Waveshare RS485 to WIFI/Ethernet Module (ik heb geen LAN kabels liggen, maar wel WiFi bij de warmtepomp).

Ik wil alle hardware/kabels e.d. gaan bestellen, maar ik weet niet welke connector ik nodig heb voor de RS485 aansluiting op het mainboard van de Fairland. Welk type is dit? Waar vind ik die? En zit er op deze connector ook 12V aansluiting? Op een foto die je postte, lijkt dat wel zo. Zo ja, zou ik dan daar de voeding voor Waveshare vanaf kunnen halen? Dan zou ik wellicht alles in de warmtepomp zelf kunnen inbouwen.
Ik heb de RS485 module die gevoed wordt middels Power-over-Ethernet en daarvandaan gaat dus een utp naar de warmtepomp waarvan je 3 aders gaat gebruiken om te verbinden aan een 4-pins JST stekker.
A+, B- en GND ga je gebruiken.
Geen idee of er direct 12V beschikbaar is vanuit de warmtepomp, ik vermoed van wel maar ik gebruik dus een externe voeding (De rs485-eth met poe )
Je warmtepomp staat natuurlijk ook buiten, ik zou denk ik dan eerder een klein kastje bouwen op een plek binnen waar je al die apparatuur in kwijt kan en nog een utp richting je warmtepomp trekken.

Acties:
  • 0 Henk 'm!

  • tomdh76
  • Registratie: Maart 2015
  • Laatst online: 21:27
GeeMoney schreef op woensdag 2 april 2025 @ 13:08:
[...]


Ik heb de RS485 module die gevoed wordt middels Power-over-Ethernet en daarvandaan gaat dus een utp naar de warmtepomp waarvan je 3 aders gaat gebruiken om te verbinden aan een 4-pins JST stekker.
A+, B- en GND ga je gebruiken.
Geen idee of er direct 12V beschikbaar is vanuit de warmtepomp, ik vermoed van wel maar ik gebruik dus een externe voeding (De rs485-eth met poe )
Je warmtepomp staat natuurlijk ook buiten, ik zou denk ik dan eerder een klein kastje bouwen op een plek binnen waar je al die apparatuur in kwijt kan en nog een utp richting je warmtepomp trekken.
Ik heb nu deze connectoren besteld https://www.amazon.nl/XH-...rageCustomerReviewsAnchor
(gelijk maar 20 als ik er wat verkloot...) maar hoe is het beste deze 4 kabeltjes aan utp kabel te verbinden? Solderen ben ik geen ster in maar als het moet dan moet het (met krimpkous?). Of gewoon met een kroonsteentje?

Acties:
  • +1 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
tomdh76 schreef op woensdag 2 april 2025 @ 20:54:
[...]


Ik heb nu deze connectoren besteld https://www.amazon.nl/XH-...rageCustomerReviewsAnchor
(gelijk maar 20 als ik er wat verkloot...) maar hoe is het beste deze 4 kabeltjes aan utp kabel te verbinden? Solderen ben ik geen ster in maar als het moet dan moet het (met krimpkous?). Of gewoon met een kroonsteentje?
Kan gewoon met de kleinste wago klemmen. Die vond ik het mooiste en makkelijkste. Gewoon klikken en klaar, niets solderen en zo weer eraf of erop te zetten.

Acties:
  • 0 Henk 'm!

  • spdr870
  • Registratie: December 2023
  • Laatst online: 19-05 15:07
lvelve schreef op dinsdag 1 april 2025 @ 22:39:
[...]

Zeer interessant. Ik heb exact dezelfde warmtepomp en heb vorig jaar wat liggen "klooien" met Tuya local/Local Tuya. Maar ik kreeg het niet voor elkaar.

Ik wil nu deze oplossing gaan proberen. Met een Waveshare RS485 to WIFI/Ethernet Module (ik heb geen LAN kabels liggen, maar wel WiFi bij de warmtepomp).

Ik wil alle hardware/kabels e.d. gaan bestellen, maar ik weet niet welke connector ik nodig heb voor de RS485 aansluiting op het mainboard van de Fairland. Welk type is dit? Waar vind ik die? En zit er op deze connector ook 12V aansluiting? Op een foto die je postte, lijkt dat wel zo. Zo ja, zou ik dan daar de voeding voor Waveshare vanaf kunnen halen? Dan zou ik wellicht alles in de warmtepomp zelf kunnen inbouwen.
Ik maak inderdaad gebruik van de 12v aansluiting van de warmtepomp. Die connector op het mainboard heeft 4 pinnetjes (A, B, 12v+, 12V-). Ik heb de stekker die erop zat gebruikt en doorgeknipt, vervolgens met een kroonsteentje aan een UTP kabel verbonden. Door de UTP loopt dus ook A, B, 12V+ en 12V-. Dit gaat naar de meterkast met een 20 meter lange kabel. In de meterkast op DIN rail gemonteerd. Met WIFI kan natuurlijk ook, dat is wellicht nog makkelijker. In de warmtepomp zelf is voldoende ruimte om het kastje intern te monteren, is het gelijk goed beschermt tegen regen. De kabel is dan ook al lang genoeg, dat je hem enkel hoeft te strippen, kastje eraan en klaar!

Ik heb mijn projectje zo goed mogelijk gedocumenteerd op die github pagina, maar mocht je vragen hebben stel ze gerust!

Acties:
  • 0 Henk 'm!

  • tomdh76
  • Registratie: Maart 2015
  • Laatst online: 21:27
Na een zaterdag te hebben geklust werkt het bij mij (Fairland IPHR33) met speciale dank aan @GeeMoney en @spdr870 en alle anderen in dit topic. Het proces ging heel soepel totdat ik bij node red aan kwam. Deze gaf telkens een time out error. De lampjes op de Waveshare leken goed, en ik zag in dat vircom programma ook bytes bij TX dus dacht dat er wel een goede verbinding moest zijn. Ik zag een verschil in poort nummer tussen de 2 (502 bij @GeeMoney en 4196 bij @spdr870 ) dus daarmee lopen kloten maar dat maakte geen verschil. Ook de unit id telkens wat aangepast maar als je dan 16 unit ids hebt en 2 poorten zijn er behoorlijk wat opties.... Ik dacht ook dat misschien de modbus settings anders waren voor de IPHR33 maar kon de tabel die Geemoney in de startpost heeft gezet nergens vinden. nog een keer de bedrading testen. het verwisselen van de draden deed niets met de lampjes op de waveshare dus daar had ik niets aan. Nog een keer het dak op voor de WP unit. De dip switches zagen er weer anders uit dan bij Geemoney maar toch durfde ik niet aan te passen. Toen nog een keer alle draden vanaf de rs485 module gestript en verbonden met utp kabel:... eindelijk verbinding!
Moraal: de lampjes van de waveshare helpen niet voor draad connectie problemen.
Nog openstaand vragen: welke poort moet ik gebruiken 502 of 4196. En waar vinden jullie de modbus tabellen voor de fairland WPs

Acties:
  • +1 Henk 'm!

  • GeeMoney
  • Registratie: April 2002
  • Laatst online: 23:04
@tomdh76 als Modbus TCP to RTU selecteert op de waveshare zal hij default Port 502 zetten. Ik heb dat dus zo gelaten.
Heb je ook die Instruction time-out gezet van 32ms ? Die is erg belangrijk namelijk.
En de tabel met registers zoals ik die heb gepost geldt ook voor jouw Fairland, daar zit naar mijn weten geen verschil in.

[ Voor 28% gewijzigd door GeeMoney op 05-04-2025 22:31 ]


Acties:
  • 0 Henk 'm!

  • tomdh76
  • Registratie: Maart 2015
  • Laatst online: 21:27
GeeMoney schreef op zaterdag 5 april 2025 @ 22:29:
@tomdh76 als Modbus TCP to RTU selecteert op de waveshare zal hij default Port 502 zetten. Ik heb dat dus zo gelaten.
Heb je ook die Instruction time-out gezet van 32ms ? Die is erg belangrijk namelijk.
En de tabel met registers zoals ik die heb gepost geldt ook voor jouw Fairland, daar zit naar mijn weten geen verschil in.
Ja die instruction time out staat op 32 . Alles lijkt werken. Morgen maar verder met automatiseren op basis van stroomtarief/ zonnepaneel opbrengst

Acties:
  • 0 Henk 'm!

  • spdr870
  • Registratie: December 2023
  • Laatst online: 19-05 15:07
Deze week de warmtepomp voor het eerste weer aangezet dit jaar. Daarmee dus ook mijn eerste ervaringen met aansturen via modbus. Mijn doel was de super silent mode activeren, dat heb ik dus ook kunnen testen.

Maandag de heater aangezet en kunnen badje kunnen opwarmen van 13 tot een aangename 30. De super silent mode gaat heel langzaam, dus toch maar even vol aan. In de nacht 1,5 graad verloren, dus de dag erop met super silent bij verwarmd. Wat opvalt is dat de pomp altijd eerst naar 74% gaat, daarna terug zakt naar 29%. Op het moment dat de doel temp bereikt is, in mijn geval 31 graden, gaat de pomp niet zachter maar harder.... naar 41% bij mij. Waarom? Ik denk dat er een 'standaard' afbouw profiel in zit die er vanuit gaat dat dit afbouwen is.... maar vanaf de super silent mode dus niet. Niet erg, maar wel opvallend gedrag. Over het algemeen werkt het goed.

Afbeeldingslocatie: https://tweakers.net/i/bIOf7_PpThMd9YADWcuuIgXsj7s=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/JvI5UFVmVr1SNbhqPiJs0nsc.png?f=user_large

edit: nadat de temperatuur met 0.5 graad overschreden werd, ging de pomp zelfs naar 100% vermogen. Ik ga dit in de gaten houden, maar mogelijk treden er wat bugs op in de super silent modus.... Hebben anderen hier ervaring mee?

[ Voor 9% gewijzigd door spdr870 op 30-04-2025 17:52 ]


Acties:
  • 0 Henk 'm!

  • MindBender
  • Registratie: Juni 2001
  • Laatst online: 22-05 08:48

MindBender

Bite my shiny metal ass!

Beste RS-485 helden; Heef één van jullie misschien ervaring met AquaForte Vario Frequentieregelaar voor zwembad pompen? Deze heeft namelijk ook een RS-485 aansluiting.

Acties:
  • 0 Henk 'm!

  • Jazsie
  • Registratie: Juni 2006
  • Laatst online: 23:10
Toevallig kwam gisteren de zelfde vraag van mede tweaker uit het andere topic:
Jazsie in "Het grote "Zwembad DIY Automatiserings" topic"

3600 Wp op 0° (vrijwel plat) | 3900Wp op 10°

Pagina: 1