Wishlist: Eure Wünsche für FhemNative

Begonnen von Stümie, 09 Oktober 2019, 14:51:54

Vorheriges Thema - Nächstes Thema

the ratman

meinst du "thermostat animation" in den einstellungen des thermostats, letzter punkt ganz unten?
hab ich probiert - animiert aber fleißig weiter.
→do↑p!dnʇs↓shit←

bismosa

Hallo!

Ich habe nun auch mal angefangen mich hiermit zu beschäftigen. Tolle Lösung! Gefällt mir richtig gut. Kein wildes erstellen irgendwelcher HTML-Codes mehr und es scheint auch richtig flott zu sein. Leider wurde es bei mir im FTUI so langsam...das machte keinen Spaß mehr.

Wo es hier gerade um die Austauschfunktion geht...ich fände es cool, wenn man Geräte direkt synchronisieren könnte. Z.B. über ein FHEM Device, bei dem die Konfig als Reading gespeichert wird. Wenn ich zwei Tablets verwende...dann brächte ich nicht bei jeder kleinen Änderung manuell die Konfiguration hin und herschieben.

Wenn ich es richtig verstanden habe, muss ich für jedes Gerät/Auflösung/Ausrichtung eine eigene Konfig erstellen? Sowas wie Flowlayout gibt es ja nicht.?

Ich hätte da auch noch was für die Wunschliste...:
Gibt es eigentlich schon eine Möglichkeit einen HTML-Text darzustellen? Ich habe mir mal in meiner myUtils ein Script gebastelt, das mir HTML-Code für die offenen Fenster (und wie lange diese berreits geöffnet sind) erstellt. Im IFrame wird wohl nur nach einer URL geschaut?

Gibt es eine Möglichkeit in einem Label einen Zeilenumbruch ("\n";"<br>" o.ä. ) einzufügen? Tabellen/Listen wurden ja glaube ich schonmal genannt.

Kalender (entweder aus FHEM oder direkt vom Google-Kalender)

Beim Icon würde ich gerne den Indikator größer Darstellen lassen. Hier hätte ich auch gerne noch ein Fenster-Icon

Dynamisches generieren von Buttons. Das habe ich z.B. in FTUI gehabt. Beispiel: Bei meinen Fenstern spinnen öfter mal die Sensoren. Da würde ich gerne auf einer Liste (im Popup) hinter jedem Eintrag ein Button haben um das Fenster virtuell zu schließen. Könnte man aber auch in einer vollständigen Liste haben...

Die Idee als PWA finde ich ebenfalls super. Toll wäre es, wenn es dann mit dem fully-kiosk-browser funktionieren würde. Dann hätte man auch so schöne Funktionen wie Bewegungserkennung, automatisches Einschalten (z.B. wenn die Haustür geöffnet wird) etc. Oder soll die App das alles irgendwann selbst können?

Alles nur wünsche  :) Wirklich klasse!

Gruß
Bismosa
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

the ratman

da hätte ich zumindest schon mal andere lösungsansätze anzubieten

ZitatGibt es eigentlich schon eine Möglichkeit einen HTML-Text darzustellen? Ich habe mir mal in meiner myUtils ein Script gebastelt, das mir HTML-Code für die offenen Fenster (und wie lange diese berreits geöffnet sind) erstellt.
ich hab da irgendwo in fehm userreadings gefunden, die mir das letzte öffenen/schließen anzeigen - kann man sicher modifizierenlastOpen:open {ReadingsTimestamp($name,"state","") =~ /^(\d+)-(\d+)-(\d+)\s(\d+:\d+:\d+)$/;; "$3.$2.$1 $4"},
lastClosed:closed {ReadingsTimestamp($name,"state","") =~ /^(\d+)-(\d+)-(\d+)\s(\d+:\d+:\d+)$/;; "$3.$2.$1 $4"}
nachdem man das universeller, als nur eine fhemnativ-eigene lösung, einsetzen kann ...

ZitatToll wäre es, wenn es dann mit dem fully-kiosk-browser funktionieren würde.
schau dir mal amad für android oder wincontrol für windows an. damit kriegst ähnliche informationen. (obs sowas für das eierbrett gibt, weiß ich allerdings nicht - nur, falls die frage aufkommt).

möglichst nix doppelt basteln.
→do↑p!dnʇs↓shit←

bismosa

Zitat von: the ratman am 09 März 2020, 18:50:41
da hätte ich zumindest schon mal andere lösungsansätze anzubieten
ich hab da irgendwo in fehm userreadings gefunden, die mir das letzte öffenen/schließen anzeigen - kann man sicher modifizierenlastOpen:open {ReadingsTimestamp($name,"state","") =~ /^(\d+)-(\d+)-(\d+)\s(\d+:\d+:\d+)$/;; "$3.$2.$1 $4"},
lastClosed:closed {ReadingsTimestamp($name,"state","") =~ /^(\d+)-(\d+)-(\d+)\s(\d+:\d+:\d+)$/;; "$3.$2.$1 $4"}
nachdem man das universeller, als nur eine fhemnativ-eigene lösung, einsetzen kann ...
Geht bestimmt auch.  :) Ich hatte nur HTML-Code für FTUI benötigt und wollte auch unbedingt eine sortierte Liste mit Anzeige, wie viele Minuten welches Fesnter bereits offen ist. Das brauchte ich dann auch als HTML um mir das auch farbig zu visualisieren 8)

Zitat von: the ratman am 09 März 2020, 18:50:41
schau dir mal amad für android oder wincontrol für windows an. damit kriegst ähnliche informationen. (obs sowas für das eierbrett gibt, weiß ich allerdings nicht - nur, falls die frage aufkommt).

möglichst nix doppelt basteln.
Coole Sache. Kannte ich noch gar nicht. Hätte mit amad niemals solche Funktionen in Verbindung gebracht. Ich glaube man muss doch immer mal wieder die komplette Commandref lesen um zu Wissen, was bereits alles machbar ist.
Für FTUI war der Fully schon echt gut. Da ich ein nicht root-bares Fire Tablet habe und der Bildschirm nicht abgeschaltet werden konnte (ohne hinterher ein Lockscreen zu haben) konnte ich damit wenigstens einen Bildschirmschoner mit 0% Helligkeit erreichen. Bei Bewegung (Erkennung über die Kamera) oder bei starken Lichtschwankungen ging das Display dann sofort an.
Muss ich mal probieren, ob das mit amad nicht sogar besser geht  :)

Gruß
Bismosa
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

Syrex-o

Vielen dank für die Blumen  ;)

Ziel ist es natürlich, dass FhemNative so viel natives wie möglich bereitstellt. Dabei muss ich aber immer auf Cross-Platform achten.
Selbstgemachtes Elend ::)

Über eine extra HTML Komponente könnte man nachdenken.
Die Idee gefällt mir eigentlich ganz gut.
Wie sieht denn der HTML Code aus ?

Zitat
Kein wildes erstellen irgendwelcher HTML-Codes mehr und es scheint auch richtig flott zu sein.
Dann freu dich schonmal auf die nächste Version. Heute hab ich den neuen Component loader eingebaut. Also muss nur noch das geladen werden an fhem Komponenten, was man auch braucht.
Das in Kombi mit Ivy sollte nochmal Speed bringen und alles zukunftssicher machen.

Beste Grüße

the ratman

#65
sag mal - so ganz blöd gedacht ... wenn schon html, ne funktion zum einbinden eigener fonts wäre auch geil.

ich denk da vor allem an dingbat-fonts, über die man dann gleich mal x designmöglichkeiten mehr kriegt. da hast du dir mit nem buchstaben als hintergrund gleich nen neuen schalter zusammengebastelt. der wav wird genial - wenn ich da florale designs für meine holde mit machen könnte *g*.
und natürlich - im/exportieren der fonts bei unserem kleinen kind, genannt tauschbörse ...

hier z.b. https://www.dafont.com/de/mtheme.php?id=7 oder hier https://www.fontsquirrel.com/fonts/list/classification/dingbat findet man div. freie fonts in der richtung.


btw - nur, weils mir einfällt grade. wenns mal exportieren im großen stil gibt, könnte man bei dieser funktion die möglichkeit bieten, eventuelle namen und falls dies irgendwann mal nötig wird, sogar passwörter von irgendwelchen abfragen raus zu nehmen? nur so in richtung zukünftiges ... nicht, dass dir sonst x leute um den hals fallen, weils irgendwo was vergessen haben, raus zu nehmen.
→do↑p!dnʇs↓shit←

bismosa

Hallo!

ZitatDann freu dich schonmal auf die nächste Version
das tue ich  :)

ZitatWie sieht denn der HTML Code aus ?
Z.B. bei den Fenstern so:

<div align="left">
<table>
<tbody>
<tr>
<td/>
<td>
<div style="color:green">Esszimmerfenster</div>
</td>
<td>
<div style="color:green">0 Min.</div>
</td>
</tr>
<tr>
<td/>
<td>
<div style="color:green">Gaeste-wc</div>
</td>
<td>
<div style="color:green">0 Min.</div>
</td>
</tr>
<tr>
<td/>
<td>
<div style="color:green">Buerofenster</div>
</td>
<td>
<div style="color:green">0 Min.</div>
</td>
</tr>
<tr>
<td/>
<td>
<div style="color:green">Buerofenster</div>
</td>
<td>
<div style="color:green">0 Min.</div>
</td>
</tr>
<tr>
<td/>
<td>
<div style="color:green">Esszimmerfenster</div>
</td>
<td>
<div style="color:green">0 Min.</div>
</td>
</tr>
<tr>
<td/>
<td>
<div style="color:green">kleiner Schuppen</div>
</td>
<td>
<div style="color:green">0 Min.</div>
</td>
</tr>
<tr>
<td/>
<td>
<div style="color:green">Badezimmerfenster unten</div>
</td>
<td>
<div style="color:green">0 Min.</div>
</td>
</tr>
<tr>
<td/>
<td>
<div style="color:green">Schuppen</div>
</td>
<td>
<div style="color:green">0 Min.</div>
</td>
</tr>
</tbody>
</table>
</div>


Interessant wäre es dann beim Blitzer-Modul:

<!DOCTYPE html>
<html lang="de">
   <head>
      <meta charset="UTF-8">
      <!-- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> -->
      <title>HowTo: Mini-Beispiel "Leaflet Karte mit Marker"</title>
      <!-- leaflet.css und leaflet.js von externer Quelle einbinden -->
      <link rel="stylesheet" href="https://unpkg.com/leaflet@1.5.1/dist/leaflet.css" />
      <script src="https://unpkg.com/leaflet@1.5.1/dist/leaflet.js"></script>
   </head>
   <body>
<div id='meineKarte' style='height: 400px; width: 600px;'></div>      <!-- OSM-Basiskarte einfügen und zentrieren -->
      <script type='text/javascript'>
  var greenIcon = new L.Icon({
iconUrl: 'https://cdn.rawgit.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-green.png',
shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.7/images/marker-shadow.png',
iconSize: [25, 41],
iconAnchor: [12, 41],
popupAnchor: [1, -34],
shadowSize: [41, 41]
});
var redIcon = new L.Icon({
iconUrl: 'https://cdn.rawgit.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-red.png',
shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.7/images/marker-shadow.png',
iconSize: [25, 41],
iconAnchor: [12, 41],
popupAnchor: [1, -34],
shadowSize: [41, 41]
});
var Karte = L.map('meineKarte').setView([52.518061, 13.403622], 12); L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
         'attribution':  'Kartendaten &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> Mitwirkende',
         'useCache': true
         }).addTo(Karte);
      </script>
      <!-- Marker einfügen -->
      <script>
var marker0 = L.marker([52.518061,13.403622], {icon: greenIcon}).addTo(Karte).bindPopup("Home"); var marker1 = L.marker([52.526247,13.415350]).addTo(Karte).bindPopup("20 Km/h<br>Karl-Liebknecht-Straße, Mitte, Berlin, 10178, Deutschland<br>Erstellt: 2020-03-10 14:53:26<br>Zuletzt gesehen: 2020-03-10 14:53:25"); var marker2 = L.marker([52.490001,13.401578]).addTo(Karte).bindPopup("30 Km/h<br>43, Gneisenaustraße, Kreuzberg, Friedrichshain-Kreuzberg, Berlin, 10961, Deutschland<br>Erstellt: 2020-03-10 11:52:03<br>Zuletzt gesehen: 2020-03-10 14:43:13"); var marker3 = L.marker([52.490669,13.382561]).addTo(Karte).bindPopup("30 Km/h<br>45, Großbeerenstraße, Kreuzberg, Friedrichshain-Kreuzberg, Berlin, 10965, Deutschland<br>Erstellt: 2020-03-10 11:17:16<br>Zuletzt gesehen: 2020-03-10 14:30:51"); var marker4 = L.marker([52.485956,13.431299]).addTo(Karte).bindPopup("30 Km/h<br>39, Sonnenallee, Donaukiez, Neukölln, Berlin, 12045, Deutschland<br>Erstellt: 2020-03-10 14:01:00<br>Zuletzt gesehen: 2020-03-10 14:54:11"); var marker5 = L.marker([52.567475,13.475113]).addTo(Karte).bindPopup("50 Km/h<br>Malchower Chaussee, Stadtrandsiedlung Malchow, Pankow, Berlin, 13088, Deutschland<br>Erstellt: 2020-03-10 14:10:56<br>Zuletzt gesehen: 2020-03-10 14:38:01"); var marker6 = L.marker([52.598927,13.377126]).addTo(Karte).bindPopup("30 Km/h<br>128, Hauptstraße, Rosenthal, Pankow, Berlin, 13158, Deutschland<br>Erstellt: 2020-03-10 11:29:37<br>Zuletzt gesehen: 2020-03-10 13:10:02"); var marker7 = L.marker([52.435585,13.466828]).addTo(Karte).bindPopup("50 Km/h<br>112, Rudower Straße, Buckow, Neukölln, Berlin, 12351, Deutschland<br>Erstellt: 2020-03-10 10:57:04<br>Zuletzt gesehen: 2020-03-10 14:49:26"); var marker8 = L.marker([52.630037,13.315804]).addTo(Karte).bindPopup("30 Km/h<br>22, Margaretenstraße, Glienicke/Nordbahn, Oberhavel, Brandenburg, 16548, Deutschland<br>Erstellt: 2020-03-10 13:45:11<br>Zuletzt gesehen: 0000-00-00 00:00:00"); var marker9 = L.marker([52.613594,13.225238]).addTo(Karte).bindPopup("30 Km/h<br>112A, Schulzendorfer Straße, Heiligensee, Reinickendorf, Berlin, 13503, Deutschland<br>Erstellt: 2020-03-10 09:15:28<br>Zuletzt gesehen: 2020-03-10 14:03:16"); var marker10 = L.marker([52.539030,13.635992]).addTo(Karte).bindPopup("50 Km/h<br>Am Weiher, Hönower Siedlung, Hönow, Hoppegarten, Märkisch-Oderland, Brandenburg, 15366, Deutschland<br>Erstellt: 2020-03-10 10:27:26<br>Zuletzt gesehen: 2020-03-10 14:45:25"); var marker11 = L.marker([52.383004,13.243096]).addTo(Karte).bindPopup("30 Km/h<br>95, Ruhlsdorfer Straße, GREEN PARK Stahnsdorf, Stahnsdorf, Potsdam-Mittelmark, Brandenburg, 14532, Deutschland<br>Erstellt: 2020-03-10 14:35:37<br>Zuletzt gesehen: 2020-03-10 14:54:09"); var group = new L.featureGroup([marker0,marker1,marker2,marker3,marker4,marker5,marker6,marker7,marker8,marker9,marker10,marker11]); Karte.fitBounds(group.getBounds());      </script>
   </body>
</html>

</pre>


Wobei bei den Fenstern bekomme ich das als "reading" beim Blitzer (das Modul stammt von mir) nur über einen get-command. Hier macht HTML im Reading schnell Schwierigkeiten. Das wäre dann vermutlich wieder ein Thema für sich...Abfragen nach einer Zeitspanne X.

Gruß
Bismosa

1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

the ratman

weil ich zufällig drüber gestolpert bin, es aber selbst als auto-verweigerer nie probiert hab:  gibts so n blitzer-zeugs nicht auch fürs httpmod-modul als fertiges template?

ich mein: man muß ja ned alles doppelt erfinden *g*
→do↑p!dnʇs↓shit←

bismosa

Hallo!

Ja...das gibt es auch. Das habe ich mal entworfen. Um es aber insgesamt einfacher und Komfortabler zu gestalten habe ich dann ein (Inoffizielles) Modul daraus entwickelt.
Das kann dann noch ein bisschen mehr.

Es soll hier auch kein neues Blitzer-Modul erfunden werden. Vermutlich wäre es sogar einfach und besser, nur die Seite von www.verkehrslage.de als IFrame anzuzeigen. Oder halt den vom Modul generierten HTTP-Code  :)

Gruß
Bismosa
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

the ratman

#69
und wenns n neues modul werden würde ... ich hab da sowieso nix zu sagen und wenns dem autor gefallen würde, könnt ich auch damit leben *g*.

ich fänds einfach generell nur schade, würde fhemnativ einen nicht unerheblichen teil der vorhandenen resourcen (viele wollen ja auch ihre uralt-tablets an die wand hängen) für eh schon vorhandenes verbrauchen. viel wichtiger wäre mir halt, dass man endlich mal ohne viel aufwand schöne und übersichtliche, plattformübergreifende oberflächen hin bekommt und auch noch sehr leicht änderbar.

sprich: ich sag nur, was ich mir denke, will hier aber niemanden den spaß verderben!


nachtrag:
fein, dass es fhemnativ auch bei f-droid gibt - find ich als richtigen weg ...
→do↑p!dnʇs↓shit←

skyline

Hallo,
ist echt super die App!

Hätte noch zwei Vorschläge.
1. FHEM-Passwort nicht sichtbar anzeigen.
2. Intere und externe Ip wäre super. Also wenn das Internet mal spinnt... aber falls nicht ich über DNS Zugriff habe.

Syrex-o

Zitat von: skyline am 16 März 2020, 22:42:26
Hallo,
ist echt super die App!

Hätte noch zwei Vorschläge.
1. FHEM-Passwort nicht sichtbar anzeigen.
2. Intere und externe Ip wäre super. Also wenn das Internet mal spinnt... aber falls nicht ich über DNS Zugriff habe.

1. Ja, macht Sinn das zu verbergen.
2. Ich habe auch schon über Profile nachgedacht, die man schnell wechseln kann. Erfasst das das Problem?

Beste Grüße

skyline

#72
Bei einem Profil muss man immer aktiv wechseln.
Bei zwei hintereinander abgefragten IPs nicht.


Syrex-o

#73
Zitat von: skyline am 23 März 2020, 17:43:41
Bei einem Profil muss man immer aktiv wechseln.
Bei zwei hintereinander abgefragten IPs nicht.

Ok verstanden. Das sollte kein Problem sein. Kommt mit dem nächsten Update und steht auf der Wishlist:
Wishlist Status

Kleine Info:
Ich bin gerade schon dabei alle Komponenten in die neue Struktur zu überführen.
Der Fokus liegt auf Performance und der "Rückwärts-Kompatibilität".
Es fehlen noch einige Komponenten, aber dafür gibt es auch schon neue Sachen  8)

Ich hoffe, dass ich es innerhalb der nächsten Woche schaffe, dass Release zu liefern.

Beste Grüße

Edit:
Das Update verzögert sich leider etwas aufgrund von einigen Erweiterungen in einzelnen Komponenten.

Aktuell bin ich beim Thermostat in der Rekonstruktion und Erweiterung um 2 neue Styles.
Also von den Komponenten fehlt noch:

  • Pinpad
  • Timepicker
  • Wetter

Fokus anschließend:

  • Einstellungen
  • Tasks

Nächste Woche sollte das erledigt sein.
Die Version kommt dann als Alpha aufgrund der vielen Änderungen.

Ich hoffe einige finden sich als Tester ?  :D

Aladin222