[Modul] Shelly

ahhh, vermutlich nicht :slight_smile: was muss ich dafür tun?

Beim Shelly musst im Webinterface MQTT aktivieren.
Scroll einfach mal ein paar Beiträge höher, dort sind Screenshots von anderen Usern dazu.

Grüße,
Kai

ah, super, ich bin Dir ewig dankbar - im Ernst! Falls Du eine Covid-Serologie brauchst, stehe ich zu Dienste! :slight_smile:

@KaiS

Hallo Kai, hast du denn vielleicht noch einen Lösungsansatz?
Wie man auf den Bildern sehen kann, habe ich es genau nach der Bilderanleitung von sunnyww gemacht. Leider steht im Webfront bei geöffnetem Rollo immer noch 100% und nicht 0%, obwohl ich das Profil kopiert und „.Reversed“ hinzugefügt habe.
Wenn dies mit einem Shelly 2.5 bei euch funktioniert, dann müsste es bei mir doch auch gehen.

Viele Grüße
marvus

Dein Screenshot zeigt doch gar nicht das WebFront, sondern die Konsole.
Und im Variable bearbeiten Dialog wird immer der Rohwert angezeigt. Der ändert sich auch nicht durch das Profil.
Nur die Anzeige im WebFront wird umgedreht.
Michael

Hier noch einmal das Webfront mit Objektbaum. Hier werden 100% angezeigt (Rollo ist momentan geöffnet). Das Profil ist dupliziert und mit .Reversed ergänzt. Daher müsste bei Position doch jetzt eigentlich 0% stehen.

Das stimmt nicht so ganz… habe ich auch wieder täuschen lassen.
Das Reversed dreht das Icon um (ich nutze die adaptiven Icons wie Jalousie).
Und es wird durch z.B. die Sprachassistenten, das Bild Control usw… bei der Ansteuerung berücksichtigt.
Damit man sagen kann: ‚Öffne…‘ und ‚Schließe…‘ ohne zu wissen ob jetzt 0% oder 100% gemeint sind.
Die Werte bleiben immer die Originalwerte wie die Hardware sie meldet.
Michael

Ah ok, jetzt habe ich es verstanden. Es ist also bereits umgedreht, ohne jedoch die Prozentangabe visuell zu verändern.
Schade. Ich wollte gerne die Variable „Position“ als Textfeld über das IP-Symcon Modul im Neo Creator anzeigen lassen. Das funktioniert auch, jedoch hätte ich genau da eine invertierte Darstellung gebraucht.

Vielleicht hat da ja noch jemand einen Trick für.
Viele Grüße

Du kannst dir aber eine Hilfsvariable bauen, bei der dann die Werte umgedreht sind.

Grüße,
Kai

Entweder eine eigene Hilfsvariable in IP-Symcon, die den Wert invertiert enthält. dazu legst Du eine neue Variable vom Typ integer an. dann brauchst Du noch ein Skript das den Wert umrechnet und das bei Variablenaktualisierung über ein Ereignis getriggert wird.

Der andere Weg, ist wohl etwas zeitaufwendiger einzurichten, wäre einen Statusregel in NEO zu konfigurieren. Falls das öfters vorkommen sollte, wäre das auch eine Option das einmalig einzurichten. Dann weist Du eben dem Wert in NEO eine Statusregel zu, die Statusregel zeigt dann eben bei 97 eine 3 an und bei 3 eine 97.

Ich selber würde den Weg einer zusätzlichen Variable in IP-Symcon wählen, das macht es dann auch einfacher z.B. in NEO den Wert wiederum einem Slider zuzuordnen.

In NEO müsstest Du dann auch die Hilfsvariable auf den Slider legen damit eine Steuerung auch Sinn macht. Das Aktionskript der Hilfsvariable invertiert dann wiederum den Wert und schaltet die eigentliche Instanz.

Umrechnungsskript das über Ereignis ausgelöst wird:

<?php

$value = GetValue(40826); // Original Wert

$invers = 100 - $value;
SetValue(44109, $invers); // Invers Wert in Hilfsvariable schreiben

Das wäre das Aktionsskript der Hilfsvariable:

<?php

//Dokumentation: https://www.symcon.de/service/dokumentation/konzepte/skripte/aktionsskripte/
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
$invers = 100 - $_IPS['VALUE'];
RequestAction(40826, $invers); // 40826 wäre die Variable der Instanz, die Du eigentlich schalten willst.

Dann kannst Du in NEO z.B. einen Slider die Hilfsvariable als Aktion und als Status zuweisen. Die Hilfvariable dient dann der korekten Anzige des Invers Werts und schaltet gleichzeitig die Instanz mit dem Wert der aus NEO übergeben worden ist.

2 „Gefällt mir“

Sehr nett von dir die ausführliche Erklärung @Fonzo.

Grüße,
Kai

Ich habe eine sehr naive Noob-Frage. Ich habe 7 Shellys 2.5 als Rolladensteuerung eingerichtet. Funktioniert prima, sogar auch mit Amazon Alexa.
Was ich nicht weiss: wie kann ich sie mit PHP steuern? Wenn ich die Variable „Position“ mit SetValue() setze, passiert nichts. Sorry für die dumme Frage, es ist ein Paar Jahre her seitdem ich mit IPS gespielt habe… :slight_smile:

Du musst die Variable mit RequestAction (RequestAction — IP-Symcon :: Automatisierungssoftware) schalten.

Grüße,
Kai

alles klar, vielen Dank. Klappt jetzt wunderbar!

Hallo Fonzo,
danke für die Skripte. Das hätte ich alleine nie hinbekommen.
Jetzt funktioniert die Anzeige genau so, wie ich es wollte. Ich habe mich für den von dir empfohlenen Weg über die Hilfsvariable entschieden.

Vielen Dank!

Hallo Fonzo,
danke für die Skripte. Das hätte ich alleine nie hinbekommen.
Jetzt funktioniert die Anzeige genau so, wie ich es wollte. Ich habe mich für den von dir empfohlenen Weg über die Hilfsvariable entschieden.

Vielen Dank!

EDIT:

@Fonzo
Jetzt habe ich mich leider zu früh gefreut.
Regel ich die Variable (2), geht die ursprüngliche Variable Position (1) mit vertauschten Prozentzahlen korrekt mit und die Prozentangaben sind bei beiden Varablen korrekt invertiert. Schalte ich jedoch die ursprüngliche Variable (1), geht die Anzeige der Variable (2) nicht mit, wie im ersten Bild zu sehen.
Das hat zur Folge, dass sich die Anzeige im Neo Creator beim Schalten des Rollos nicht mitverändert. Schalte ich die Variable (2) im Webfront, wird mir im Neo Creator die korrekte Prouentzahl angezeigt.

Liegt schlicht und einfach daran, das ein Ereignis fehlt, zumindest nach dem Screenshot. Du legst also einfach bei dem Umrechnungsskript ein Ereignis an, mit dem Auslöser der Variable mit dem Originalwert. Das Ereignis löst bei Aktualisierung aus. So funktioniert das zumindest bei mir einwandfrei sowohl im Webfront als auch aus NEO. Ohne ein Ereignis wird das Skript ja nicht ausgeführt, daher aktualisiert sich der Wert auch nicht.

invert trigger

Kontrollansicht in NEO
invert neo

1 „Gefällt mir“

Vielen Dank, jetzt funktioniert es wirklich :slight_smile:
Schönes Wochenende

Ich besitze so ein Gerät nicht, mich würde dennoch interessieren ob der Wert denn in der Shelly App genauso angezeigt wird wie in IP-Symcon? Wenn Du also 60% jetzt über die invertierte Variable einstellst, was ja einem real angezeigtem Wert in IP-Symcon von 40% entspricht, was zeigt Dir dann die Shelly App an, auch 60% oder doch 40%?

Wenn die Shelly App ebenfalls 40% anzeigen sollte, der Rollladen aber auf 60% gefahren wird, wäre das ja entweder ein Bug was der Aktor meldet oder aber der Rollladen ist eventuell auch einfach falsch angeschlossen. Wenn das so weit mit dem invertieren des Werts funktioniert, ist das ja gut. Merkwürdig finde ich das persönlich dennoch, das der Shelly Aktor da dann einen anderen Wert ausgibt. Wenn das in der Shelly App auch invertiert sein sollte, würde ich da an Deiner Stelle zumindest mal zusätzlich den Hersteller von dem Shelly 2.5 anschreiben.

Hallo Fonzo,
wenn ich im Webfront über die invertierte Variable 60% angebe, entspricht es dem angezeigten IP Symcon-Wert 40% und in der Shelly App ebenfalls 40%.

IPS und Shelly decken sich demnach. Einen falschen Anschluss schließe ich aus, da die vorherige Rollladensteuerung (JAROLIFT / Vestamatic Multi Time Control) mit den gleichen up/down Zeichen übernommen wurde. Auch kann man in der App bei falschem Anschluss die Richtung der Rolladenfahrt umstellen, wenn die Anzeige in der App (Button) nicht der korrekten Richtung gleicht.

Die Shelly-App (iOS) ist zurzeit eine Katastrophe. Nach jeden 2 Berührungen, verliert sie die Verbindung zum Shelly. Nach einem kompletten Schließen und Neustarten der App ist die Verbindung wieder vorhanden und die Funktionen sind für die nächsten 2-3 Berührungen möglich.

Im Internet finden sich viele dieser gleichen Beobachtungen, trotz neustem Update, dem neusten iOS und Iphone 12.

Die Bedienung über die Weboberfläche oder den NEO Creator funktioniert aber konstant und problemlos.

Die invertierten Werten im Neo Creator und natürlich im WebFront entsprechen auch hier nicht den wahren Werten. Somit bringt dies natürlich nicht wirklich viel, da der eigentliche Sinn dahinter war, dass ich immer sehen kann, auf welchem wahren Wert sich die Rollade auch in anderen Zimmern nun befindet.