switch mit mehreren Zuständen

Begonnen von holle75, 23 Mai 2017, 22:47:53

Vorheriges Thema - Nächstes Thema

holle75

Hello! .... nur ganz kurz bevor ich mich wundbastel: Hat einer von euch einen Switch mit mehreren (mehr als zwei) Zuständen implementiert (durchschaltbar) und könnte hier den Code preisgeben?
Das Beispiel aus dem Wiki und github funktioniert bei mir nicht.

Danke euch und Grüße

H.

amenomade

Ich nutzte den vom Wiki. Hat wunderbar funktioniert. Vor eine Woche habe ich meine Logik ein bisschen geändert, und arbeite jetzt anders aber...

Bevor Du alles neu-bastelst, warum nicht zeigen, was "bei dir nicht funktioniert"?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

holle75

Hallo amenomade, ich versuche eine automatisierte Beregnung mit den Zuständen auto on off in ftui zu übernehmen.

<li data-row="2" data-col="3" data-sizex="1" data-sizey="3">
<header>Beregnung 2
</header>
<div data-type="switch"
data-device="BeregnungDurchlauf_AN_AUS_AUTO"
data-set-states='["off","off","auto"]'
data-states='["auto","on","off"]'
data-icons='["fa-tint","fa-tint","fa-tint"]'
data-colors='["white","white","white"]'
data-background-colors='["blue","green","red"]'>
</div>
</li>


ftui übernimmt weder die icons noch kann ich die drei Zustände durchschalten. Es gibt nur on off mit dem Standardicon. Wie ein standardswitch ohne jede weitere Definition.

amenomade

Mit <div data-type="switch" ist es ein Switch Widget. Kein Wunder, wenn er wie ein Switch reagiert.

Mit <div data-type="multistatebutton" könnte es ein Multistatebutton werden ;)

Einige Attributen gehören nicht zu multistatebutton. Schau mal hier: https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/multistatebutton
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

holle75

#4
Mmh, jetzt bin ich irritiert. Laut zB hier https://forum.fhem.de/index.php?topic=48775.0 sollte doch auch ein switch mehrere Zustände haben können? Oder werf ich da was durcheinander? ... und da heißt er auch "switch" :)

... edit: und hier https://wiki.fhem.de/wiki/FTUI_Widget_Switch#Attribute_f.C3.BCr_mehrere_Zust.C3.A4nde ist doch auch ein switch mit mehreren Zuständen beschrieben?

amenomade

#5
Sorry, davon wusste ich nicht. Und anscheinend laut deinem Link funktioniert es nicht so gut.

Auf jeden Fall musst du die Sequenz respektieren, und states und set-states kohärent machen

data-set-states='["on","off","auto"]'
data-states='["auto","on","off"]'


Auch interessant wäre ein list von deinem BeregnungDurchlauf_AN_AUS_AUTO device
Via Tapatalk

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

holle75

list

Internals:
   NAME       BeregnungDurchlauf_AN_AUS_AUTO
   NR         582
   STATE      auto
   TYPE       dummy
   Readings:
     2017-05-13 09:38:46   state           auto
Attributes:
   devStateIcon on:rc_GREEN off:rc_RED auto:rc_BLUE
   group      Beregnung
   room       Beregnung
   sortby     2
   webCmd     auto:on:off


aber ich nutze auch gerne den multistatebutton von Nesges wenn der noch von der neuesten FTUI-Version unterstützt wird. Allerdings wundert mich, dass der Standard-Switch explizit im Wiki beschrieben ist und dann scheinbar nicht funktioniert?

habs jetzt mal deinem Vorschlag folgend in der Sequenz passend gemacht (wobei ich annahm, dass ja du enscheiden darfst, was in welcher Reihenfolge passieren soll), aber das ändert nichts am Nichtfunktionieren.


amenomade

Ich teste mal wenn ich zu Hause bin und sag Bescheid

Via Tapatalk

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

holle75


amenomade

Also, bei mir funktioniert folgendes perfekt:

<div data-type="switch"
data-device="BeregnungDurchlauf_AN_AUS_AUTO"
data-set-states='["on","off","auto"]'
data-states='["auto","on","off"]'
data-icons='["fa-tint","fa-tint","fa-tint"]'
data-colors='["white","white","white"]'
data-background-colors='["blue","green","red"]'
class="small">
</div>
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

Falls es bei dir immer noch nicht funktioniert, prüf mal, ob Du FTUI auf dem richtigen Zustand hast:
UPD 2017-02-11_14:27:26 103 www/tablet/fonts/fontawesome-License.txt
UPD 2017-02-11_14:27:26 165742 www/tablet/fonts/fontawesome-webfont.eot
UPD 2017-02-11_14:27:26 444379 www/tablet/fonts/fontawesome-webfont.svg
UPD 2017-02-11_14:27:26 165548 www/tablet/fonts/fontawesome-webfont.ttf
UPD 2017-02-11_14:27:26 98024 www/tablet/fonts/fontawesome-webfont.woff
UPD 2017-02-11_14:27:26 77160 www/tablet/fonts/fontawesome-webfont.woff2
UPD 2017-02-11_14:27:26 109688 www/tablet/fonts/FontAwesome.otf
UPD 2017-02-11_14:27:26 30926 www/tablet/lib/font-awesome.min.css
UPD 2017-03-07_01:01:19 21787 www/tablet/js/widget_famultibutton.js
UPD 2017-03-19_02:11:31 19816 www/tablet/lib/fa-multi-button.js
UPD 2017-03-19_02:11:36 6904 www/tablet/lib/fa-multi-button.min.js
UPD 2017-01-28_21:37:41 1616 www/tablet/js/widget_switch.js


Wenn ja, dann häng mal noch deine ganze .html Datei an, und ggf. die übergeordnete  index.html Datei auch.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

holle75

#11
FTUI eben nochmal upgedated (wars aber schon).
Deinen Code 1 zu 1 übernommen. Selbes Resultat.

OHNEEE, jetzt habe ich nochmal kurz über meine index.html drübergeschaut während ich sie anhängen wollte und hatte noch alle Verweise auf die alte Version im anderen Verzeichnis.  Großes Kino. Hatte mich schon die ganze Zeit gefreut, dass mein altes Layout auch mit der neuesten Version so wunderbar funktioniert. Tut es jetzt natürlich leider nicht mehr .... aber der Switch funktioniert dafür wie eine Eins! ;)

(jetzt geänderte) index.html
<!DOCTYPE html>
<html>
<head>
<title>FHEM-Mobil-UI
</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="widget_base_width" content="100">
<meta name="widget_base_height" content="110">
<meta name="widget_margin" content="1">
<meta name='gridster_disable' content='1'>
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="longpoll" content="1"><!-- 1=longpoll;0=shortpoll every 30sec -->
<meta name="debug" content="0"><!-- 1=output to console;0=not output -->
<meta name="toast" content="0"><!-- Bestätigung nach Aktion ein/ausblenden -->

<meta http-equiv='cache-control' content='no-cache'>
        <meta http-equiv='expires' content='0'>
        <meta http-equiv='pragma' content='no-cache'>

<link rel="stylesheet" href="/fhem/test/lib/jquery.gridster.min.css" />
<link rel="stylesheet" href="/fhem/test/css/fhem-tablet-ui.css" />
<link rel="stylesheet" href="/fhem/test/lib/font-awesome.min.css" />
<link rel="stylesheet" href="/fhem/test/lib/jquery.toast.min.css" />
<link rel="stylesheet" href="/fhem/test/lib/powerange.min.css" />

<link rel="stylesheet" href="/fhem/test/lib/openautomation.css" />

<link rel="stylesheet" href="/fhem/test/lib/fhemSVG.css" />



<link rel="stylesheet" href="/fhem/test/css/my_hdm_fhem-mobil-ui.css" />

<script type="text/javascript" src="/fhem/pgm2/jquery.min.js" defer></script>
<script type="text/javascript" src="/fhem/test/lib/jquery.knob.mod.js" defer></script>
<script type="text/javascript" src="/fhem/test/lib/jquery.toast.min.js" defer></script>
<script type="text/javascript" src="/fhem/test/lib/jquery.circlemenu.js" defer></script>
<script type="text/javascript" src="/fhem/test/lib/powerange.min.js" defer></script>
<script type="text/javascript" src="/fhem/test/lib/jquery.gridster.min.js" defer></script>
<script type="text/javascript" src="/fhem/test/lib/fa-multi-button.min.js" defer></script>
<script type="text/javascript" src="/fhem/test/js/fhem-tablet-ui.js" defer></script>
</head>
<body>

<div class="gridster">
<ul>
<li data-row="1" data-col="1" data-sizex="3" data-sizey="1" data-template="menu.html">
</li>
</ul>
</div>
</body>
</html>


Entschuldige bitte, dass ich deine Zeit geraubt habe! Mann, Mann, kleiner Fehler mit großer (logischer) Reichweite. Und so simpel.

Nochmal Danke!

amenomade

Kein Thema

Zitataber der Switch funktioniert dafür wie eine Eins! ;)
Na dann ist es schon ein Anfang ;)

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Ulm32b

Zitat von: amenomade am 24 Mai 2017, 20:28:30
Also, bei mir funktioniert folgendes perfekt:

<div data-type="switch"
data-device="BeregnungDurchlauf_AN_AUS_AUTO"
data-set-states='["on","off","auto"]'
data-states='["auto","on","off"]'
data-icons='["fa-tint","fa-tint","fa-tint"]'
data-colors='["white","white","white"]'
data-background-colors='["blue","green","red"]'
class="small">
</div>


Das ist ja ein toller Trick und vollwertiger Ersatz für Multistatebutton.
Ich habe das als Beispiel im Wiki zum Switch-Widget aufgenommen.