New FHEM Tablet UI

Begonnen von setstate, 22 Februar 2015, 23:37:24

Vorheriges Thema - Nächstes Thema

setstate

Sieht so aus, dass das dein Device ist, also eine Instanz im Fhem.
Dein Problem ist aber ein anderes:
Bitte alle type in data-type und alle device in data-device umbenennen in deinen Widgets.


Tedious

Ist geändert, danke für den Hinweis. Box bleibt leider leer. Hat jemand mal einen Codeschnipsel für mich wie das (funktionierend) realisiert wurde? Da könnte ich mich denn entlanghangeln... ;)
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

CoolTux

Zitat von: Tedious am 30 Oktober 2015, 15:46:49
Ist geändert, danke für den Hinweis. Box bleibt leider leer. Hat jemand mal einen Codeschnipsel für mich wie das (funktionierend) realisiert wurde? Da könnte ich mich denn entlanghangeln... ;)



<li data-row="4" data-col="4" data-sizex="2" data-sizey="1" class="halbTransparent">
        <header>Anrufe</header>
        <table border="0px" width="100%">
        <tr><td>
        <div data-type="label" data-device="CallmonTuxNetDSL01" data-get="B0" class="inline small darker"></div>
        <div data-type="symbol" data-device="CallmonTuxNetDSL01"
                data-get="A0"
                data-icons='["fa-phone","fa-phone","fa-phone","fa-phone"]'
                data-get-on='["in_connected","out_connected","in_notconnected","out_notconnected"]'
                data-on-colors='["green","green","red","red"]'
                class="inline small">
        </div>
        <div data-type="symbol" data-device="CallmonTuxNetDSL01"
                data-get="A0"
                data-icons='["fa-arrow-circle-left","fa-arrow-circle-right","fa-arrow-circle-left","fa-arrow-circle-right"]'
                data-get-on='["in_connected","out_connected","in_notconnected","out_notconnected"]'
                data-on-colors='["green","green","red","red"]'
                class="inline small">
        </div>
        <br>
        <div data-type="label" data-device="CallmonTuxNetDSL01" data-get="D0" data-color="#aa6900" class="inline small darker"></div>
        <div data-type="label" data-device="CallmonTuxNetDSL01" data-get="C0" class="inline small darker"></div>
        <div data-type="label" data-device="CallmonTuxNetDSL01" data-get="E0" class="inline small darker"></div>
        </br>
        </td></tr>
        </table>
        <div class="small">
                <div data-type="button" data-url="telefon.html"
                        data-direction="bottom-left"
                        data-icon="fa-phone"
                        data-background-icon="fa-circle-thin"
                        data-on-color="#aa6900"
                        data-off-color="#aa6900"
                        style="position:absolute;z-index:1001;top:0px;right:0px;opacity:0.5" >
                </div>
        </div>
</li>
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Tedious

#2793
Danke, ich schau mir das mal an und versuche das anzupassen!

Läuft angepasst prinzipiell schon mal, den Rest bekomme ich hin und model das zusammen. Danke!
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

CoolTux

Nicht dafür. Gern geschehen


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

StefanW

Zitat von: setstate am 29 Oktober 2015, 09:03:53
@StefanW: Es könnte am benutzen Button-Widget liegen. Ich weiß nicht, ob deine Version noch passt.
Probiere mal Pagebutton, der ist uptodate. Oder Switch oder Symbol.

Wenn ich mit meinem Rechner wieder arbeitsfähig bin (Festplatten Crash), schaue ich mir das etwas genauer an und aktualisiere die Beispiele wieder.

Danke, ich werde mal ein wenig rumprobieren.

danieljo

Kurze Frage:

Ist es möglich mittels dem widget "switch" folgendes zu realisieren:

Ich möchte den "ON" & "OFF" Status des Gerätes Lampe1 (dummy) angezeigt bekommen. Gleichzeigt will ich aber beim betätigen des switches das der der Befehl: set RemotePI cmd set Lampe2 on/off ausgeführt wird.

Mein Problem ist ich will einen Schalter von einer RemoteFHEM installastion einfügen. Über FHEM2FHEM und notify klappt es leider nicht da sich andauern eine Schleife (Loop) bildet. (LokaleLampe1 set on -> RFHEM -> RemoteLampe1 set on -> LokaleNotify -> set LokaleLampe1 on ->

Mein vorhaben ist einen Schalter (switch) von einer Remote FHEM Instanz auf die lokale zu duplizieren. Soll heißen der Status wird auf beiden Instanzen gleichgehalte sowie das ich von der jeder Instanz aus den Schalter schalten kann und der status ebenfalls aktuell gehalten wird.

roman1528

Moin. Mein letztes Problemchen hat sich dank DOIF erledigt. AT wäre in die Hose gegangen... will ja die Seite aufspringen lassen wenn die Batterien leer sind und nicht erst wenns schon zu spät ist. :-)

Jetzt zu meinem nächsten Ärgerniss. Ich lese für meine "Anrufe" das Modul FB_CALLLIST aus. Als erstes ein "symbol" für den Status des Anrufs:


<div data-type="symbol"
data-device="FritzBoxCallList"
data-get="1-state"
data-states='["=>","=> X","=> ((o))","=> [=]","=> O_O"]'
data-icons='["oa-phone_call_end_in","oa-phone_missed_in","oa-phone_ring fa-blink","oa-phone_ring_in fa-blink","oa-phone_answering"]'   <!-- Fehler in openautomation.css: answersing (glaub ich war's)-->
data-colors='["green","firebrick","firebrick","green","#aa6900"]'>
</div>


Soweit so gut. Ich lasse vom Modul nur eingehende Gespräche listen. Wenn ich mir jetzt den state (1-state) eines eingehenden, klingelnden Anrufs anschaue...

1-state        => ((o))

genau so bei einem laufenden Gespräch:

1-state        => [=]

Ich verstehe nicht viel von Java und Co. ... na gut ... gar nichts, ein ganz kleines bisschen vielleicht.
Ich denke die Klammern (egal ob rund oder eckig) machen Probleme, weil genau diese states nicht als "symbol" angezeigt werden.

Kann man das irgendwie umgehen? RegEx hab ich versucht.. frisst er irgendwie nicht. Dann sind alle "symbol"'s im Eimer.

Oder check ich RegEx in dem Fall nicht?

data-states='["(=>)(?!.)","(=>.X)","(=>.\(\(o\)\))","(=>.\[=\])","(=>.O_O)"]'

Vielen Dank schon mal.
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

harry66

@danieljo
ZitatMein Problem ist ich will einen Schalter von einer RemoteFHEM installastion einfügen. Über FHEM2FHEM und notify klappt es leider nicht da sich andauern eine Schleife (Loop) bildet. (LokaleLampe1 set on -> RFHEM -> RemoteLampe1 set on -> LokaleNotify -> set LokaleLampe1 on ->

wenn du dem device auf dem RFHEM einen anderen namen gibst funktioniert es (Schleife entsteht nicht)
BananaPI, RPI, nanoCUL433, RCS 1000 N Comfort, Dect200, Powerline546E, MAX!Cube, 7xMAX! HT's,3xMAX!FK HMLAN, HM-LC-Bl1PBU-FM, HM-LC-Sw4-Ba-PCB Relay Karte,  LW12, Sqeezelite, TabletUI=Kindel 8" FireHD+Handy,AmazonEcho

setstate

data-states='["=>","=> X","=> ((o))","=> [=]","=> O_O"]'

funktioniert bei mir mit einem Dummy wunderbar.

Kann das der Grund sein: (aus CommandRef)

        Generated Events:
           This module does not generate any events or readings.

was sagt: list FritzBoxCallList

l3skon3

#2800
@setstate
Zitatdata-states='["=>","=> X","=> ((o))","=> [=]","=> O_O"]'

funktioniert bei mir mit einem Dummy wunderbar.

Kann das der Grund sein: (aus CommandRef)

        Generated Events:
           This module does not generate any events or readings.

was sagt: list FritzBoxCallList

durch das Attribut "create-readings 1" erstellt das Modul die nötigen Readings.


@roman1528
ZitatMoin. Mein letztes Problemchen hat sich dank DOIF erledigt. AT wäre in die Hose gegangen... will ja die Seite aufspringen lassen wenn die Batterien leer sind und nicht erst wenns schon zu spät ist. :-)

Jetzt zu meinem nächsten Ärgerniss. Ich lese für meine "Anrufe" das Modul FB_CALLLIST aus. Als erstes ein "symbol" für den Status des Anrufs:

Code: [Auswählen]
<div data-type="symbol"
data-device="FritzBoxCallList"
data-get="1-state"
data-states='["=>","=> X","=> ((o))","=> [=]","=> O_O"]'
data-icons='["oa-phone_call_end_in","oa-phone_missed_in","oa-phone_ring fa-blink","oa-phone_ring_in fa-blink","oa-phone_answering"]'   <!-- Fehler in openautomation.css: answersing (glaub ich war's)-->
data-colors='["green","firebrick","firebrick","green","#aa6900"]'>
</div>

Soweit so gut. Ich lasse vom Modul nur eingehende Gespräche listen. Wenn ich mir jetzt den state (1-state) eines eingehenden, klingelnden Anrufs anschaue...

1-state        => ((o))

genau so bei einem laufenden Gespräch:

1-state        => [=]

Ich verstehe nicht viel von Java und Co. ... na gut ... gar nichts, ein ganz kleines bisschen vielleicht.
Ich denke die Klammern (egal ob rund oder eckig) machen Probleme, weil genau diese states nicht als "symbol" angezeigt werden.

Kann man das irgendwie umgehen? RegEx hab ich versucht.. frisst er irgendwie nicht. Dann sind alle "symbol"'s im Eimer.

Oder check ich RegEx in dem Fall nicht?

data-states='["(=>)(?!.)","(=>.X)","(=>.\(\(o\)\))","(=>.\[=\])","(=>.O_O)"]'

Vielen Dank schon mal.

schau mal in die *.pm des Modules. Meines Wissen ist das ein Problem da bei manchen states zwei bzw. mehrer Leerzeichen weitergegeben werden so zum Beispiel hier:

    if($data->{running_call})
    {
        if($data->{direction} eq "incoming" and $data->{last_event} eq "connect" )
        {
            $state = "=>  [=]";
            $state = FB_CALLLIST_returnIcon($hash,"incoming.connected", $state) if($icons);
        }
        elsif($data->{direction} eq "incoming" and $data->{last_event} eq "ring")
        {
            $state = "=>  ((o))";
            $state = FB_CALLLIST_returnIcon($hash,"incoming.ring", $state) if($icons);
        }
        elsif($data->{direction} eq "outgoing" and $data->{last_event} eq "connect" )
        {
            $state = "<=  [=]";
            $state = FB_CALLLIST_returnIcon($hash,"outgoing.connected", $state) if($icons);
        }
        elsif($data->{direction} eq "outgoing" and $data->{last_event} eq "call")
        {
            $state = "<= ((o))";
            $state = FB_CALLLIST_returnIcon($hash,"outgoing.ring", $state) if($icons);
        }
    }

tomster

#2801
Servus zusammen!

Ich bin gerade dabei in eine header.html eine Wettervorschau mit dem WEATHER-Modul zu integrieren.
Mit den Standard-Icons bekomme ich auch ein vernünftiges Layout hin.
Wenn ich jedoch die kleinklima-Icons einbinde, verhauts es das ganze Layout weil die Icons zu groß sind.
Nun habe ich innerhalb des widget_weather.js die Skalierung der Icons auf 30% gesetzt.

var mapped = typeof translation == "undefined"?val:translation;
                    if($(this).data('imageset')=="kleinklima") {
                        mapped = base.kleinklimamap[mapped.replace(/^:/, '')];
                        $(this).prepend('<img style="width:30%" src="' + $(this).data('image-path') + mapped + '" title="' + val + '">');
                    } else if($(this).data('imageset')=="reading") {
                        $(this).prepend('<img style="width:30%" src="' + _val + '">');
                    } else {
                        mapped = base.meteoconsmap[mapped.replace(/^:/, '')];
                        $(this).attr('data-icon', mapped);



Icons passen nun, aber der vergrößerte Abstand der einzelnen Zellen bleibt.


<li data-row="2" data-col="3" data-sizex="12" data-sizey="2">
                <div class="top-space">
                <div class="inline narrow">
                <div data-type="label" class="narrow">Heute</div>
                <div data-type="weather" data-device="Wetter" data-imageset="kleinklima" data-get="fc0_weatherDay" class="narrow"></div>
                <div data-type="label" data-device="Wetter" data-get="fc0_tempMin" class="inline"> </div>/
                <div data-type="label" data-device="Wetter" data-get="fc0_tempMax" class="inline"> </div>


        </div>
                <div class="inline narrow">
                <div data-type="label" class="narrow" data-device="Wetter" data-get="fc1_date"></div>
                <div data-type="weather" data-device="Wetter" data-imageset="kleinklima" data-get="fc1_weatherDay" class="narrow"></div>
                <div data-type="label" data-device="Wetter" data-get="fc1_tempMin" class="inline"> </div>/
                <div data-type="label" data-device="Wetter" data-get="fc1_tempMax" class="inline"> </div>

        </div>
...

Wo liegt mein Fehler? Irgendwas muss ich übersehen...

roman1528

#2802
Zitat von: setstate am 30 Oktober 2015, 21:55:08
was sagt: list FritzBoxCallList
Internals:
   DEF        FritzBoxCallMonitor
   FB         FritzBoxCallMonitor
   NAME       FritzBoxCallList
   NOTIFYDEV  FritzBoxCallMonitor
   NR         51
   NTFY_ORDER 50-FritzBoxCallList
   STATE      Initialized
   TYPE       FB_CALLLIST
   Readings:
     2015-10-30 12:54:52   1-connection    DECT_1
     2015-10-30 12:54:52   1-duration      00:00:40
     2015-10-30 12:54:52   1-external      SIP1
     2015-10-30 12:54:52   1-internal      Büro
     2015-10-30 12:54:52   1-name          -
     2015-10-30 12:54:52   1-number        016******10
     2015-10-30 12:54:52   1-row           1
     2015-10-30 12:54:52   1-state         =>
     2015-10-30 12:54:52   1-timestamp     Fr, 30.10.15 12:54
     2015-10-30 12:54:53   10-connection   -
     2015-10-30 12:54:53   10-duration     -
     2015-10-30 12:54:53   10-external     SIP1
     2015-10-30 12:54:53   10-internal     Büro
     2015-10-30 12:54:53   10-name         -
     2015-10-30 12:54:53   10-number       016******10
     2015-10-30 12:54:53   10-row          10
     2015-10-30 12:54:53   10-state        => X
     2015-10-30 12:54:53   10-timestamp    Do, 29.10.15 12:57
     2015-10-30 12:54:53   2-connection    -
     2015-10-30 12:54:53   2-duration      -
     2015-10-30 12:54:53   2-external      SIP1
     2015-10-30 12:54:53   2-internal      Büro
     2015-10-30 12:54:53   2-name          -
     2015-10-30 12:54:53   2-number        016******10
     2015-10-30 12:54:53   2-row           2
     2015-10-30 12:54:53   2-state         => X
     2015-10-30 12:54:53   2-timestamp     Fr, 30.10.15 12:53
     2015-10-30 12:54:53   3-connection    DECT_1
     2015-10-30 12:54:53   3-duration      00:00:14
     2015-10-30 12:54:53   3-external      SIP1
     2015-10-30 12:54:53   3-internal      Büro
     2015-10-30 12:54:53   3-name          -
     2015-10-30 12:54:53   3-number        016******10
     2015-10-30 12:54:53   3-row           3
     2015-10-30 12:54:53   3-state         =>
     2015-10-30 12:54:53   3-timestamp     Fr, 30.10.15 12:36
     2015-10-30 12:54:53   4-connection    DECT_1
     2015-10-30 12:54:53   4-duration      00:00:07
     2015-10-30 12:54:53   4-external      SIP1
     2015-10-30 12:54:53   4-internal      Büro
     2015-10-30 12:54:53   4-name          -
     2015-10-30 12:54:53   4-number        016******10
     2015-10-30 12:54:53   4-row           4
     2015-10-30 12:54:53   4-state         =>
     2015-10-30 12:54:53   4-timestamp     Fr, 30.10.15 12:31
     2015-10-30 12:54:53   5-connection    -
     2015-10-30 12:54:53   5-duration      -
     2015-10-30 12:54:53   5-external      SIP1
     2015-10-30 12:54:53   5-internal      Büro
     2015-10-30 12:54:53   5-name          -
     2015-10-30 12:54:53   5-number        016******10
     2015-10-30 12:54:53   5-row           5
     2015-10-30 12:54:53   5-state         => X
     2015-10-30 12:54:53   5-timestamp     Fr, 30.10.15 12:31


Guten Morgen.

Ich hätte erwähnen sollen, dass ich "attr FritzBoxCallList create-readings 1" natürlich drin habe.

Genao so wie: event-on-change-reading .* UND event-on-update-reading  .*

@l3skon3

Das ist eine gute Idee... da schau ich mal rein und ändere die states ggf.
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

danieljo

Zitat von: harry66 am 30 Oktober 2015, 20:48:50
@danieljo
wenn du dem device auf dem RFHEM einen anderen namen gibst funktioniert es (Schleife entsteht nicht)

Funktioniert leider nicht gewünscht. notify triggert trotzdem. Habe gestern alle möglichkeiten Probiert die mir in den Sinn kamen.

Entweder schaffe ich es den Status der Lampen des RemoteRpi auf dem ZentralenRpi zubekommen oder vom ZentralenRpi aus die Lampen auf dem RemoteRpi zu steuern aber beides gleichzeitig bekomme ich nicht hin. Habe gestern noch hier im Forum irgendwo gelesen das für solche Sachen DOIF besser geeignet sein soll.

harry66

sorry das hatte ich übersehen.

Zitatvon der jeder Instanz aus den Schalter schalten kann und der status ebenfalls aktuell gehalten wird.

ich schalte nur von einer Seite
BananaPI, RPI, nanoCUL433, RCS 1000 N Comfort, Dect200, Powerline546E, MAX!Cube, 7xMAX! HT's,3xMAX!FK HMLAN, HM-LC-Bl1PBU-FM, HM-LC-Sw4-Ba-PCB Relay Karte,  LW12, Sqeezelite, TabletUI=Kindel 8" FireHD+Handy,AmazonEcho