+ Antworten
Seite 2 von 2 ErsteErste 1 2
Ergebnis 11 bis 16 von 16
  1. #11
    Registriert seit
    Jun 2012
    Ort
    House of Dragons @ Lübeck
    Beiträge
    8,907

    Von ein Devices an das Gateway hat Symcon und ich ein Modul.
    Da musst du nix verpacken oder umrechnen. Das sind Integer Werte bei Function, Address etc...
    IPSBGETech/BGETechModule.php at 265fa2e784adcac7388d1dff1f0fc8b842777a6c · Nall-chan/IPSBGETech · GitHub
    Michael
    on Win7VM (ESXi): I5, 24GB RAM, HW-RAID5, 3xSat | HW: CCU + 123 Geräte (506ch), EM1000, CUL, 1Wire, XBee, ELRO 433MHz, FritzBox Cable, Android Phone + Tablet, Samsung C-Serie TV +SamyGo-Ext, Onkyo NR| SW: IPS, Apache2(mod_ssl/PHP), MySQL, hMailServer, PRTG, Rising AV, Piwik, RoundCube, Wordpress, WinLIRC, WHS2011, MediaPortal, XBMC

  2. #12
    Registriert seit
    Apr 2007
    Ort
    Lüneburg
    Beiträge
    3,375

    ...in Deinem Beispiel liest Du aber doch Wert aus, oder? Auslesen der diversen vorhandenen Werte funktioniert inzwischen prima, Der ankommende Wert ist hierin:
    PHP-Code:
    $Result = (unpack("n*"substr($Result,2))); 
    (weiß gar nicht mehr wie ich darauf gekommen bin...)

    Setzen von Werten via Modbus habe ich nur über die IPS-Instanz getestet und da funktioniert es.
    Da meine im Modul generierten Werte sich aber unterscheiden (dazu versuche ich eben Sende-Befehle auf den Fake-Splitter zu senden) habe ich bisher ehrlicherweise überhaupt nicht versucht etwas zu aus meinem Modul an das echte Gerät zu senden...
    Ich hatte schon mal etwas mit DMX in der Art gemacht, da musste ich wie weiter oben in diesem Thread mit chr() arbeiten - erfolgreich...
    IP-Symcon seit 12/2009, iPhoneApp seit 01/2011, IPSView seit 12/2014!
    3xSiemensLOGO0BA7+DM16, 1xInstar 3010PoE, 1xInstar 2905PoE, 1x1-WireHub mit DS2450 von Eservice-online, 15xDS1820, 1xDS2423, 1xDS2408

  3. #13
    Registriert seit
    Jun 2012
    Ort
    House of Dragons @ Lübeck
    Beiträge
    8,907

    Chr ist immer nur ein Byte, das reicht für max. 8 Merker. Jedes Bit entspricht ein Merker.
    Also musst du bei einem Merker eigentlich nur Quantity auf 1 setzen, und chr(0) oder chr(1) für false/true.
    Ohne Gewähr und nicht getestet
    Es sollten auch mehrere aufeinander folgende Merker auf einmal gehen, dann musst du diese Bitweise zusammenbauen.
    Michael
    PS: danach immer utf8_encode auf 'Data' und dann alle Felder als JSON kodieren.
    Geändert von Nall-chan (24.06.19 um 21:58 Uhr)
    on Win7VM (ESXi): I5, 24GB RAM, HW-RAID5, 3xSat | HW: CCU + 123 Geräte (506ch), EM1000, CUL, 1Wire, XBee, ELRO 433MHz, FritzBox Cable, Android Phone + Tablet, Samsung C-Serie TV +SamyGo-Ext, Onkyo NR| SW: IPS, Apache2(mod_ssl/PHP), MySQL, hMailServer, PRTG, Rising AV, Piwik, RoundCube, Wordpress, WinLIRC, WHS2011, MediaPortal, XBMC

  4. #14
    Registriert seit
    Apr 2007
    Ort
    Lüneburg
    Beiträge
    3,375

    ...hier ist es aber anders, hier habe ich 16Bit und in Teilen aber Werte >255...
    IP-Symcon seit 12/2009, iPhoneApp seit 01/2011, IPSView seit 12/2014!
    3xSiemensLOGO0BA7+DM16, 1xInstar 3010PoE, 1xInstar 2905PoE, 1x1-WireHub mit DS2450 von Eservice-online, 15xDS1820, 1xDS2423, 1xDS2408

  5. #15
    Registriert seit
    Jun 2012
    Ort
    House of Dragons @ Lübeck
    Beiträge
    8,907

    Ja und? Dann wieder mit

    pack('n', int16);
    Kommen wie Werte falsch an, dann nach den Pack Data mit strrev() umdrehen.
    Das wäre das Swap MSB/LSB.
    Michael
    on Win7VM (ESXi): I5, 24GB RAM, HW-RAID5, 3xSat | HW: CCU + 123 Geräte (506ch), EM1000, CUL, 1Wire, XBee, ELRO 433MHz, FritzBox Cable, Android Phone + Tablet, Samsung C-Serie TV +SamyGo-Ext, Onkyo NR| SW: IPS, Apache2(mod_ssl/PHP), MySQL, hMailServer, PRTG, Rising AV, Piwik, RoundCube, Wordpress, WinLIRC, WHS2011, MediaPortal, XBMC

  6. #16
    Registriert seit
    Apr 2007
    Ort
    Lüneburg
    Beiträge
    3,375

    ...habe es jetzt so umgesetzt:
    PHP-Code:
    $SendPayload chr($Payload >> 8).chr($Payload 255); 
    Ist nach meinen Tests nicht mehr im Ergebnis unterscheidbar von den Werte die ModBus-Instanz an den Splitter sendet - erste Tests waren auch erfolgreich...

    Meine neue Brötje Heizung hat ein ModBus-Modul - da kann man hunderte von Daten sehen und diverse davon auch setzen. Jetzt kommt die Fleißarbeit...

    VIELEN DANK!

    Joachim
    IP-Symcon seit 12/2009, iPhoneApp seit 01/2011, IPSView seit 12/2014!
    3xSiemensLOGO0BA7+DM16, 1xInstar 3010PoE, 1xInstar 2905PoE, 1x1-WireHub mit DS2450 von Eservice-online, 15xDS1820, 1xDS2423, 1xDS2408