Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Ich prüfe das dann mal bei mir. Deine Version ist richtig. Ändere doch mal zum Test in der yaml die Bezeichnung des Root-Items.
Im Wiki von SmarthomeNG hab ich folgendes gefunden, was ich bisher auch immer aussen vor gelassen habe:
Code:
[B]Namensvergabe[/B]
Bei der Wahl von Itemnamen ist folgendes zu beachten:
Plugin-Instanzen und Items der obersten Ebene (Top-Level) teilen sich den Namensraum. Es sollte vermieden werden, Top-Level Items einen Namen zu geben, der in etc/plugin.yaml (bzw. etc/plugin.conf) bereits für eine Plugin-Instanz gewählt wurde. Dieses kann zu unvorhergesehenen Problemen führen. (z.B.: Wenn ein Plugin Funktionen implementiert hat, wird dies beim Aufruf dieser Funktionen zu Problemen führen, da SmartHomeNG dann versucht auf eine (nicht existierende) Methode des Items zuzugreifen, statt auf das Plugin.)
Das könnte einen Namensraum Konflikt sein, wenn ein Root-level Item den Namen einer Klasse trägt. Bei Items und Logiken führt das auf jedem Fall zu einem Namensrum Konflikt, da shng dann prüft, ob das Item die entsprechende Methode hat (was natürlich nicht der fall ist) und dann eine Exception schmeißt.
Viele Grüße
Martin
There is no cloud. It's only someone else's computer.
Auch mit umbenennen... bekomm den Fehler nicht weg.
Wenn ich SmarthomeNG mit CLI mal anschau, dann find ich alle Items die in den CONF-Files stehen, die YAML aber nicht.
Kann es sein, dass gemischt nicht geht und ich die Conf-Sachen dann auch auf YAML umstellen muss?
Auch mit umbenennen... bekomm den Fehler nicht weg.
Wenn ich SmarthomeNG mit CLI mal anschau, dann find ich alle Items die in den CONF-Files stehen, die YAML aber nicht.
Kann es sein, dass gemischt nicht geht und ich die Conf-Sachen dann auch auf YAML umstellen muss?
Hm, komisch. Nach dem Familienausflug schau ich mir das mal an. Bis dahin kannst du die yaml auh einfach in das alte Formt überführen. Dem Plugin ist es egal.
Ich habe derweil hier eine neue Version -->HIER<--
Hinzugekommen ist Mute- und Volume-Steuerung. Im Verzeichnis des Plugins liegt eine Datei
Code:
search_uids.py
.
Mit
Code:
python3 search_uids.py
kann man jetzt alle UIDs im Netzwerk unabhägig vom Plugin auflisten lassen.
Ich habe das versucht nachzustellen. Bei mir funktioniert alles. Hier kurz mein Setup: Klassen-Name SonosNew, wie gehabt. Mein Item ist nun folgendermaßen aufgebaut (so habs ichs auch in der verlinkten Datei geändert):
if sh.MySonos.Kueche.mute():
print("++++++++++++++++++++++++++++++++")
Wenn ich jetzt den mute-Status ändere, wird korrekt das "+" in der Konsole geprinted.
Irgendwas muss also an deiner Einstellung noch nicht ganz stimmen.
Auch mit umbenennen... bekomm den Fehler nicht weg.
Wenn ich SmarthomeNG mit CLI mal anschau, dann find ich alle Items die in den CONF-Files stehen, die YAML aber nicht.
Kann es sein, dass gemischt nicht geht und ich die Conf-Sachen dann auch auf YAML umstellen muss?
SmartHomeNG liest ab Version 1.3 die Item Definitionen alle r .conf und aller .yaml Dateien aus dem items Verzeichnis ein. Diese müssen dann auch im CLI oder Backend sichtbar sein.
Trägt die Datei auch die Endung .yaml?
Viele Grüße
Martin
There is no cloud. It's only someone else's computer.
Also ich versteh es nicht.
Hab meine Conf auch zu YAML umgeschrieben und ja, alle beiden (hab grad nur 2 Dateien in items) haben die Endung yaml und es sind auch keine TABs mehr in den Dateien.
Aber mit CLI werden nur "env.*" items angezeigt.
Ansonsten gibt es im Log nun (über Conf eingerichtet) noch Fehler wie z.B.:
Code:
2017-03-12 20:57:03 ERROR item sonos_schlafzimmer Item MySonos.Schlafzimmer.play: problem running <bound method SonosNew.update_item of <plugins.sonos_new.SonosNew object at 0x76386f90>>: '' -- item.py:__update:479
Traceback (most recent call last):
File "/usr/local/smarthome/lib/item.py", line 477, in __update
method(self, caller, source, dest)
File "/usr/local/smarthome/plugins/sonos_new/__init__.py", line 803, in update_item
sonos_speaker[uid].set_play()
File "/usr/local/smarthome/plugins/sonos_new/__init__.py", line 569, in set_play
if not sonos_speaker[self.coordinator].soco.play():
KeyError: ''
Wenn Du nur die env Items im CLI siehst, klingt das nach danach, dass Deine yaml Dateien nicht richtig interpretiert wurden. Hast Du dazu irgendwelche Meldungen im smarthome.log? Kannst Du die item Dateien mal hochladen?
Viele Grüße
Martin
There is no cloud. It's only someone else's computer.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar