Node Red Code Beispiel zum Ansteuern und Auslesen des PCF8575.
Beim PCF8575 ist es etwas anders, als beim PCF8574.
Schreiben: Hier beinhaltet das erste Byte wie gewohnt die Adresse, das zweite Byte sind Ausgänge P0-P7 und das dritte Byte sind die Ausgänge P10-P17.
Lesen: Hier beinhaltet das erste Byte wie gewohnt die Adresse, das zweite Byte sind Eingänge P0-P7 und das dritte Byte sind die Eingänge P10-P17.
Für Node Red bedeutet das, dass man wie gewohnt die Adresse vergibt, der msg.command Befehl ist das zweite Byte und dann folgt noch das dritte Byte.
Der Beispiel Code für Node Red ist noch nicht ausgereift, verdeutlich aber im groben die Funktion. Als erstes stellt man eine Zahl für P10-P17 ein und dann eine für P0-P7. Dann wird es richtig geschrieben. Die Werte für P0-P7 müssen, wie schon darauf hingewiesen, in command geschrieben werden.
Mittels der Injection kann der Zustand aller Pins ausgelesen werden. Wenn man die Pins als Eingänge haben möchte, dann müssen sie vorher ausgeschalten werden, da es sonst zu einem Kurzschluss kommt.
[{"id":"7b75fdb4.9db64c","type":"i2c out","z":"39d977c4.586c9","name":"","address":"32","command":"","payload":"payload","payloadType":"msg","count":"2","x":820,"y":1380,"wires":[]},{"id":"991609af.1318f","type":"ui_numeric","z":"39d977c4.586c9","name":"","label":"P0-7","tooltip":"","group":"a1d5e8a8.a9943","order":4,"width":0,"height":0,"passthru":true,"topic":"","format":"{{value}}","min":0,"max":"255","step":1,"x":230,"y":1380,"wires":[["d04affcb.1f3038"]]},{"id":"d3aee933.0266a8","type":"ui_numeric","z":"39d977c4.586c9","name":"","label":"P10-17","tooltip":"","group":"a1d5e8a8.a9943","order":12,"width":0,"height":0,"passthru":true,"topic":"","format":"{{value}}","min":0,"max":"255","step":1,"x":680,"y":1380,"wires":[["7b75fdb4.9db64c"]]},{"id":"25b05b39.355554","type":"i2c in","z":"39d977c4.586c9","name":"","address":"32","command":"0","count":"2","x":610,"y":1480,"wires":[["b2dd5749.c4aeb"]]},{"id":"5fdd1f56.88ba28","type":"inject","z":"39d977c4.586c9","name":"","topic":"","payload":"5","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":390,"y":1480,"wires":[["25b05b39.355554"]]},{"id":"b2dd5749.c4aeb","type":"debug","z":"39d977c4.586c9","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":810,"y":1480,"wires":[]},{"id":"d04affcb.1f3038","type":"change","z":"39d977c4.586c9","name":"","rules":[{"t":"move","p":"payload","pt":"msg","to":"command","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":460,"y":1380,"wires":[["d3aee933.0266a8"]]},{"id":"a1d5e8a8.a9943","type":"ui_group","z":"","name":"PCF8591","tab":"fe961090.159ee8","order":2,"disp":true,"width":"6","collapse":false},{"id":"fe961090.159ee8","type":"ui_tab","z":"","name":"Sensoren","icon":"dashboard","order":4,"disabled":false,"hidden":false}]