Hauptmenü

warum so viele Dummies?

Begonnen von Wuppi68, 03 März 2017, 08:17:35

Vorheriges Thema - Nächstes Thema

Wuppi68

Hallo Zusammen,

mal eine Frage in die Runde:

Warum werden immer so viele Dummies benutzt?

Beispiel:

ein Dummy wird gesetzt um eine Sonos einzuschalten....

set DummySonos off
notify auf DummySonos --> set Sonos off


in gerfühlt 80-90% der Fälle kann ich dich direkt auf den Status des Realen Devices via ReadingsVal/Value bzw [Device:Reading] zugreifen und brauche gar keinen Dummy mehr
FHEM unter Proxmox als VM

franky08

Mach ich eigentlich nur wenn ich im Webif oder Wandtablet noch einen Button für das Device haben möchte...

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Thorsten Pferdekaemper

Hi,
aus dem Einsteiger-PDF:
Zitat
In fhem können dummy-devices angelegt werden, die wie eine Variable genutzt werden können.
Außerdem wird im "Erste Schritte" Tutorial viel mit Dummys gearbeitet (das geht dort halt nicht anders).
Ich denke mal, daher sind Dummys vertraut.
Wahrscheinlich werden sie auch verwendet, um die Komplexität des eigentlichen Device zu verstecken. Sozusagen als Ersatz für ein schönes Frontend.
Gruß,
   Thorsten
FUIP

MadMax-FHEM

Also ich kann mich noch erinnern:

ich habe auch erst mal einen Dummy genommen bevor ich irgendein "echtes" Gerät angefasst habe...

...tue dies wie bereits geschrieben (nur) noch, wenn ich etwas einfach über einen eigenen Knopf (oder ein paar) steuern möchte oder etwas oder mir Zwischenwerte etc. merken will...
...ja könnte ich auch per userReadings direkt am Gerät tun...
...aber irgendwie will ich das immer noch nicht so recht "anfassen" ;)

Haben viele dummy so schlechten Einfluss?

Also ich meine jetzt nicht übertrieben viele, nur viele ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Wuppi68

Zitat von: MadMax-FHEM am 03 März 2017, 10:54:41
Haben viele dummy so schlechten Einfluss?

Also ich meine jetzt nicht übertrieben viele, nur viele ;)

Hallo Joachim,

ich denke, der Einfluss auf die Performance ist nur bei wirklich schwacher Hardware signifikant. Hier ne Millisekunde, da ein paar Mirkosekunden da kann schon mal ein wenig zusammen kommen ...

Um den wirklich bewussten Einsatz ging es mit hier auch nicht - aber z.B. um den (besonderen) Zustand von einem Gerät zu "tracken" brauche ich doch kein Dummy ein SetReading in das Device erfüllt in meinen Augen den gleichen Zweck und ich muss mich bei der Einrichtung/Fehelersuche nicht durch "tausende" Devices hangeln ...

ich benutze auch dummies ;-) Diese werden von Außen mit Daten befüllt, damit ich keine Abhängigkeiten habe, die einen Haupt FHEM Start verhindern können :-)
FHEM unter Proxmox als VM

r00t2

Ich sehe das ähnlich wie die Frage neulich zum Thema "DoIf": Wo es mir Vorteile bringt bzw. es nicht anders elegant lösbar ist, verwende ich Dummies - sonst nicht.
Habe auch denke ich nicht mehr als 2 oder 3 im System momentan...
FHEM 6.0 (Raspberry Pi 2 B | Raspberry Pi OS Lite | Perl 5.28.1 | UZB Z-WAVE.Me | Hue Bridge V1 | SIGNALDuino 433 MHz | FritzBox | Kodi | Pioneer AVR | MQTT | Node-RED | Diverse Google Dienste)

Otto123

Hallo Wuppi68,

ich glaube Dummy klingt gerade am Anfang erstmal harmlos und ist ziemlich gut sichtbar und "greifbar" mit scheinbar null Systemeinfluss.
setReading oder userReadings kommt viiiel später, dort mache ich was mit dem Device was ich doch häufig gar nicht angelegt habe. Zumindest habe ich "selbst" nie Readings angelegt sondern ich habe "nur" define gemacht (oder autocreate hast gemacht).  ;)
Da ist doch die Hemmschwelle viel größer.
Ich habe schon einige, sie vergegenständlichen doch häufig "virtuelle Instanzen".

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Thorsten Pferdekaemper

Zitat von: r00t2 am 03 März 2017, 11:20:39
Ich sehe das ähnlich wie die Frage neulich zum Thema "DoIf":
...und genause wie beim DOIF-Thread ist das eine gute Gelegenheit sich mit den verschiedenen Aspekten des Konzepts auseinanderzusetzen.

Zitat von: Otto123 am 03 März 2017, 11:44:44setReading oder userReadings kommt viiiel später, dort mache ich was mit dem Device was ich doch häufig gar nicht angelegt habe. Zumindest habe ich "selbst" nie Readings angelegt sondern ich habe "nur" define gemacht (oder autocreate hast gemacht).  ;)
Für mich ist das genau anders herum. Ich glaube, das ich in meinem Produktivsystem keinen einzigen Dummy habe. Entweder ich brauche ein Reading, das logisch zu einem schon existierenden Gerät gehört, dann mache ist das mit dem Attribut userReading oder dem Befehl setreading, oder ich brauche sozusagen ein neues "Hilfsdevice", dann ist das bei mir meistens ein at, welches sich selbst die benötigten Readings per setreading setzt.

Gruß,
   Thorsten
FUIP

ArduPino

Ich hab fast nur dummys :-)
Für meine Funksteckdosen hab ich welche um sie dann im Tablet UI anzuzeigen. Im Alarm Modul hab ich viele, um z.B. einen Alarm separat noch mal anzupassen (z.B. soll nach 20 Uhr keine Soundausgabe erfolgen wenn ein Fenster langer auf war, aber eine Telegramm Meldung raus gehen) Die dummys kann ich so nach belieben an oder ab schalten oder eine Zeit angeben.
Und mehrere die nur im Tablet UI angezeigt werden.

Gesendet von meinem Wileyfox Swift mit Tapatalk


rabehd

Ich habe einige Dummys. Die meisten stammen aus der Anfangszeit. Im Rahmen der gegenwärtigen Aufräumaktion prüfe ich ob es nicht ohne geht. Eine Handvoll ist dadurch schon weg.
Grundsätzlich finde ich es nicht schlimm. Es ist am Anfang "übersichtlicher" und wie schon gesagt "vergegenständlicht" es.
Bequemlichkeit wird so auch unterstützt, man sieht den Status eines Dummys eben schneller als voneinander abhängige Readings.
Auch funktionierende Lösungen kann man hinterfragen.

Benni

#10
Ich habe ca. 50 Dummies in meiner produktiven FHEM-Instanz.

Die meisten (ca. 50%) davon sind für die Verwendung in Frontends (Infopanel oder Alexa), entweder zum vereinfachten Schalten, oder zur Visualisierung.

Von den restlichen 50% sind wiederum ca. die hälfte (i.d.R. temporär) für irgendwelche Tests. Ja, ich teste durchaus diverse Logiken gerne mal in der Produktivumgebung ;D

Der Rest ist halt noch von "Früher" übrig, da könnte man sicher manches umbauen und bspw. auf Readings von echten Devices legen, aber es läuft ja auch so ;)

Gerade nochmal drübergeschaut: Da gibt es doch einiges an Optimierungspotenzial. Werde wohl demnächst mal etwas ausmisten.
Danke für den Denkanstoß!

Beta-User

Komme eben mal auf 3, nutze aber derzeit nur FHEMWEB als Frontend...
Die drei stehen für
- Ferien (vermutlich nach Einsteigerdokument),
- aktuelle Nutzungsart des Gästezimmers,
- Urlaub

Da ich mich grade etwas ins perl-coding einzudenken versuche, bin ich auch über die Frage gestolpert, wo ich ab besten bestimmte Informationen hernehme und abspeichere. Dabei hatte ich den Eindruck, dass viele, die etwas weiter waren als ich (aber keine Experten) dummies genau dafür nutzen und das dann häufig auch in einer größeren Anzahl.

Als Grund hierfür glaube ich nunmehr ausgemacht zu haben, dass fast allen der betreffenden User (wie mir auch) nicht klar war, wie mit userattr sinnvoll umzugehen ist (womit nicht die Behauptung verbunden ist, dass ich da jetzt den Durchblick habe) und es (meistens) am sinnvollsten ist, Einstellungen und Informationen, die für ein bestimmtes Gerät (im Sinne eines Gegenstandes in der Realität) gelten sollen, auch beim entsprechenden device (als dessen Entsprechung=define innerhalb FHEM) direkt abzuspeichern.
Auch der nächste Schritt, nämlich wie mit einer gespeicherten Information (bzw. deren Änderung) umzugehen ist, kann man sich dann auch wieder nur durch die Analyse (guter?) Beispiele (oder evtl. ganzer Module) erschließen. Wenn man sucht, findet man dazu tatsächlich einiges, herzlichen Dank an der Stelle an die, die ihre Beispiellösungen gepostet haben! :) :) :)

Jedenfalls auf die Schnelle sind zu dem Thema praktisch auch keine Grundlageninformationen im Wiki (oder Einsteiger-pdf) zu finden.

Frage an die versammelte Kompetenz hier: Wäre es nicht sinnvoll, dies (z.B. im Umfeld zu 99_myUtils) anhand eines einfach nachzuvollziehenden Beispiels für vorerst Ratlose wie (hoffentlich ehemals ::)) mich darzustellen? Anbieten würde sich m.E. eine Zwangsöffnung eines Rolladens (bei gesetzter Automatik), wenn man das Fenster öffnet oder Benni's Globale, flexible Fenster-/Tür-Offen-Meldungen (der code braucht aber mehr "drumrum" wie einen Nachrichtendienst).

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

betateilchen

Zitat von: franky08 am 03 März 2017, 08:26:14
Mach ich eigentlich nur wenn ich im Webif oder Wandtablet noch einen Button für das Device haben möchte...

Zitat von: Benni am 05 März 2017, 08:06:37
Die meisten (ca. 50%) davon sind für die Verwendung in Frontends (Infopanel oder Alexa), entweder zum vereinfachten Schalten, oder zur Visualisierung.

Das geht im InfoPanel ganz ohne zusätzliche dummies.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Benni

Zitat von: betateilchen am 30 März 2017, 11:30:41
Das geht im InfoPanel ganz ohne zusätzliche dummies.

Im Prinzip ja, aber nicht, wenn man in FHEMWEB andere Status-Icons verwenden will, wie im InfoPanel.
Habe das inzwischen weitgehend so gelöst, dass ich für InfoPanel eine eigene FHEMWEB-Instanz eingerichtet habe, bei der ich dann ein anderes Icon-Set verwende.

Hast du noch eine bessere Methode auf Lager?

NeuFehm

Es gibt Funktionen, die stehen nur dem dummy zur Verfügung. Beispielsweise kann man kein ECMD-Device einen Colorpicker zuweisen. Hier hilft ein dummy. ist der Wert ermittelt, kann man dann per notify die Werte übertragen. Dummy macht einfach alles mit, unabhängig vom verwendeten Device und dessen Möglichkeiten.
Raspberry Pi B+
RS 485 Schnittstellen: DIGITUS DA-70157, LINKSPTITE RS485/GPIO Shield for Raspberry Pi
RS485 Geräte: Ultraschallsensor für Zisternenfüllstand (Eigenbau), 4x8 Relais-M-Mastermodule (Eigenbau), 6 T-Module (Schalter und 3 analoge Eingänge) (Eigenbau)
sonstige Hardware: 2 Relay Modul