SHELLY 1PM über P44-xx als digitalSTROM Aktor

  • Ich möchte versuchen einen Shelly 1PM als dS-Aktor über den DigitalSTROM Server zu betreiben. Kling Irre ich weiss. Ich hab als erstes eine RasPi zum Plan44 P44-LC-X umfunktioniert.

    Der Link dazu https://plan44.ch/automation/p44-lc-x.php

    Ich habe zudem in den TechDocs einen Anleitung gefunden wie eine myStrom Schaltsteckdose über die HTTP-API und p44script als Custom-Device ins digitalSTROM-Smarthome eingefügt werden kann.

    Der Link dazu https://plan44.ch/p44-techdocs/d…nfache-http-api

    Ich habe versucht die Vorlage für den 1PM und meine Zwecke anzupassen. Licht ist nicht gefragt, daher verwende ich "base" als einfacher ein/aus output. Meine Zwecke bedeutet in dem Zusammenhang eine Schwerze Jocker Klemme welche einen kompletten Stromkreis schalten kann. Für üblich ist dS hinter dS nicht möglich, und mit max 1400W sind die Klemmen auch nicht sonderlich belastbar. Die Shelly 1/PM könnte hier eine Lösung bieten, allerdings bin ich bisher nicht weit gekommen.

    [script] [/script]

    [script]{ [/script]

    [script]'message':'init', [/script]

    [script]'output':'basic', [/script]

    [script]'dimmable':false, [/script]

    [script]'colorclass':8, [/script]

    [script]} [/script]

    [script][/script]


    [script] [/script]

    [script]var baseurl = "http://xx.xx.xx.xx" //IP ist hier nur unkenntlich gemacht ;) [/script]

    [script]
    [/script]

    [script]on (message()) as m { [/script]

    [script]if (m.message=="channel" && m.index==0) { [/script]

    [script]geturl(baseurl + format('/relay/0?turn=%d', if(m.value==100, on, off))) [/script]

    [script]} [/script]

    [script]} [/script]

    [script]
    [/script]

    [script]return true [/script]

    [script][/script]

    Mein Problem: Es funktioniert nicht. Wohl nur etwas kleines aber ich habe keine blassen was ich falsch mache, und dabei habe mit Strom-messe, Cloud-Anbindung und Passwort noch nicht mal angefangen. :rolleyes:

  • Update, so funktioniert's

    Custom device init message

    [script]{
    'message':'init',
    'output':'basic',
    'dimmable':false,
    'colorclass':8,
    } [/script]

    [script][/script]

    Custom Device implementation

    [script]var baseurl = "http://192.xx.xx.x" // hier muss noch die richtige IP-Adresse eingetragen werden
    on (message()) as m {
    if (m.message=="channel" && m.index==0) {
    geturl(baseurl + format('/relay/0?turn=%s', if(m.value==100, 'on', 'off')))
    }
    }
    return true [/script]

    [script][/script]

    Die Lösung kam vom P44-Support

    Zitat


    Wenn man mit format() einen String einsetzen will, muss als Platzhalter %s stehen.

    %d ist für Integerzahlen, %f für Fliesskommazahlen.

    Zudem braucht es für String-Literale Anführungszeichen, 'on' und 'off'. Sonst wären das Variablen mit den Namen on und off (die's an der Stelle aber gar nicht gibt).

    Allerdings ist dies erst ein teil der Lösung. Strom messen geht noch nicht, und das Shelly-Reais taucht in der dS-App noch nicht unter den Geräten auf. Auf dem dSS "Eigenen Funktionen" zu erstellen, und diese auslösen funktioniert jedoch schon sehr gut.