Hervorragend, danke für die Umsetzung
Beiträge von feuerloescher
-
-
-
nach Geräteträgern und schauen, wer diese Funktion hat.
das wäre eine andere Anforderung, finde ich aber auch nicht schlecht in der Benutzerliste. Oben auf das 3 Punktemenü klicken und dann "nach Funktion sortiert" als Auswahl (optional mit über alle Standorte hinweg)
-
Die größere Frage ist, wie man dies sinnvoll anzeigt.Ich stell mir das so vor: In den Termindetails unter Anmeldungen unten auf den grünen Block der Zusagen klicken, dann geht ein neues Fenster/Ansicht auf mit "4 AGTs, 2 GF, 3 MSF". Quasi die Zusagen einfach aufgedröselt
-
Aus der Erinnerung heraus hab ich .exe immer per „start“ aufgerufen und nur andere Batchdateien per „call“.
Keine Ahnung ob das hilft, ist mir nur aufgefallen
-
das hier schon gesichtet?
BeitragRE: Einsatz Monitor mit Shelly (SmartHome) verbinden
Moin,
ich muss mich in diesem Thema mal mit einklinken.
Ich habe eine lauffähige .bat geschrieben, womit ich direkt via öffentlicher API den Shelly Plug S schalten kann.
Beim Ausführen der Datei funktioniert das auch überall, solange shelly und das ausführende Win System online sind.
Das CMD Fenster. öffnet sich für eine Sekunde und der SHelly schaltet, wenn man die Datei manuell öffnet.
Wenn ich Diese Datei aber nun über „Programm ausführen“ im Einsatzmonitor einbinde, funktioniert das nicht.…Ralph19886. Juli 2024 um 19:32 -
Weitere Alarmtöne sind nicht geplant.
Darf ich fragen warum? Hab ihr angst dass die App nochmal 50MB größer im Appstore steht oder warum ist diese äußerst restriktive Vorgehensweise?
Aus Erfahrung höre ich jetzt schon wieder das genöle aus der Mannschaft da vielen entweder die Töne zu kurz sind oder die Ton-Frequenz als Maschinenführer oder Bandarbeiter nicht passt.
Alternativ bring ich wieder mal das Thema "eigener Sound" für die Alarmierung ins Spiel, damit wären alle Fliegen im Bereich der Sounds ein für alle mal erschlagen.
-
Guten Morgen,
da schließe ich mich an. Heute morgen ganz schön komisch geschaut als ich 2 Whatsapp-Nachrichten von Kollegen hatte was jetzt genau wegen der neuen Version zu machen ist.
Überlasst bitte den (Orga)-Admins die interne Kommunikation.
Danke
-
Nur mal so aus Interesse bei so vielen Bildschirmen: Wie viele Standbyelemente und in welchem zeitlichen Durchlauf habt ihr das System im Einsatz?
-
wir sind an der ILS Würzburg angeschlossen, da kann ich berichten: nein
-
wie kein Platz? Der war doch vorher aus schon da

Alternative Denkansätze: Muss "Einstellungen" immer so präsent (z.B. in der Einsatzansicht) sein oder das Menü scrollbar wäre keine Option?
-
-
Wird der "Standby" Button wieder in die Tablet-App eingebaut oder wie komme ich alternativ aus einem angewählten Einsatz wieder raus?
-
ich wäre weiterhin für m/s - das ist mein täglich Brot in der Windkraftbranche

-
-
Hi,
über die API kannst du die Rückmeldung realisieren, alles wichtige ist hier bereits zusammengefasst:
Connect Benutzer API - Feuer Software GmbHDie Connect Benutzer API bietet die Möglichkeit API Anfragen nur für den eigenen Benutzer auszuführen. Der Unterschied zur Öffentlichen Connect Schnittstelle…feuersoftware.com -
-
ich habe das Skript auf "httpGet" angepasst, da "request" deprecated ist, sonst habe ich keine Veränderungen vorgenommen.
Code
Alles anzeigen// Script zum Abrufen von Einsatzdaten aus der Öffentlichen Connect-Schnittstelle // von Feuersoftware. Infos dazu im Community-Forum. // API-Endpunkt-URL und Bearer-Token const apiUrl = 'https://connectapi.feuersoftware.com/interfaces/public/operation'; const bearerToken = 'DEIN-TOKEN-FUER-DIE-CONNECT-SCHNITTSTELLE' // Objektpfad für die Speicherung der Daten, test ist das Unterverzeichnis und kann angepasst werden const objectPath = 'feuersoftware.test'; // Überwachtes Objekt für die Auslösung des Skripts const triggerObject = 'iot.0.services.custom_id-test'; // Liste der zu leerenden Objekte vor dem Abruf neuer Daten const objectsToEmpty = [ `${objectPath}.Facts`, `${objectPath}.HouseNumber`, `${objectPath}.Keyword`, `${objectPath}.Address`, `${objectPath}.Ric`, `${objectPath}.Properties.Objekt:`, `${objectPath}.Properties.weitereFelder1`, `${objectPath}.Properties.weitereFelder2`, `${objectPath}.Properties.usw`, // Füge weitere Objekte hinzu, die geleert werden sollen ]; // Platzhalterwert, durch den die Werte der Objekte ersetzt werden sollen const placeholderValue = ''; // Funktion zum Ersetzen der Werte von bestimmten Objekten async function replaceValues() { try { // Werte der spezifizierten Objekte ersetzen for (const objId of objectsToEmpty) { await setStateAsync(objId, { val: placeholderValue, ack: true }); } console.log(`Die Werte der spezifizierten Objekte wurden durch "${placeholderValue}" ersetzt.`); } catch (error) { console.error(`Fehler beim Ersetzen der Werte: ${error}`); } } // Funktion zum Abrufen von Daten von der API und Verarbeiten der Daten function fetchData() { // Holen des Wertes des überwachten Objekts const customIdTestValue = getState(triggerObject).val; httpGet(apiUrl, {bearerAuth: bearerToken}, async (err, response) =>{ if (!err && response.statusCode === 200) { try { const data = JSON.parse(response.data); // Durchlaufe jedes Element in den Daten data.forEach((item) => { // Vergleiche die ID mit dem Wert in custom_id-test if (item.Id == customIdTestValue) { // Erstelle den Objektpfad const objectFullPath = `${objectPath}`; // Erstelle die Objekte unter dem Pfad createState(`${objectFullPath}.Start`, item.Start, true); createState(`${objectFullPath}.CreatedAt`, item.CreatedAt, true); createState(`${objectFullPath}.End`, item.End, true); createState(`${objectFullPath}.Keyword`, item.Keyword, true); createState(`${objectFullPath}.Category`, item.Category, true); createState(`${objectFullPath}.Facts`, item.Facts, true); createState(`${objectFullPath}.Ric`, item.Ric, true); // Adresse const addressData = item.Address || {}; createState(`${objectFullPath}.Address`, addressData.Address, true); createState(`${objectFullPath}.Street`, addressData.Street, true); createState(`${objectFullPath}.HouseNumber`, addressData.HouseNumber, true); createState(`${objectFullPath}.ZipCode`, addressData.ZipCode, true); createState(`${objectFullPath}.City`, addressData.City, true); createState(`${objectFullPath}.District`, addressData.District, true); createState(`${objectFullPath}.CityWithDistrict`, addressData.CityWithDistrict, true); createState(`${objectFullPath}.CityWithDistrictAndZipCode`, addressData.CityWithDistrictAndZipCode, true); createState(`${objectFullPath}.StreetWithHouseNumber`, addressData.StreetWithHouseNumber, true); createState(`${objectFullPath}.Lng`, addressData.Lng, true); createState(`${objectFullPath}.Lat`, addressData.Lat, true); // Sonstige Daten createState(`${objectFullPath}.Number`, item.Number, true); createState(`${objectFullPath}.Source`, item.Source, true); // Erstelle die Objekte für Properties const properties = item.Properties || []; properties.forEach((property) => { createState(`${objectFullPath}.Properties.${property.Key}`, property.Value, true); }); // Erstelle die Objekte für AdditionalInformation const additionalInformation = item.AdditionalInformation || []; additionalInformation.forEach((info, infoIndex) => { createState(`${objectFullPath}.AdditionalInformation.${infoIndex}`, info, true); }); // Info Log log(`Neuen Einsatz unter ${objectFullPath} angelegt.`); } }); } catch (err) { log(`Fehler beim Parsen der API-Antwort: ${err}`); } } else { log(`Fehler bei der API-Anfrage. Statuscode: ${response.statusCode}`); } }); } // Überwacht das Auslöseobjekt auf Änderungen und führt das Skript aus on({ id: triggerObject, change: 'any' }, () => { // Vor dem Abrufen neuer Daten, leere die alten Daten replaceValues(); // Rufe die neuen Daten ab fetchData(); }); -
Hallo,
ich habe bei uns mehrere Homematic IP Rauchwarnmelder (Gerätehalle, Schulungsraum, Fahrzeuge innen und auch im Kofferaufbau) welche über das Raspberrymatic (läuft auf dem zentralen Proxmoxserver als eigene Instanz) angebunden sind. Da bei uns ioBroker als zentrales "Hirn" im Gerätehaus läuft werden die Rauchmelder dort ausgewertet.
Wenn 1 Rauchmelder scharf auslöst wird per öffentlicher API ein Alarm generiert welches die Führungsebene sowie die Gerätewarte informiert. Kommt ein weiterer Rauchmelder binnen 30 Minuten dazu, so erhöht ioBroker über die Schnittstelle die Alarmmeldung und lässt alle Handys der aktiven alarmieren. Denke zu diesem Zeitpunkt ist eh schon Halligalli, aber es war der Wunsch der Führung hier zur Sicherheit eine Eskalation zu haben.
Bisher alles (zum Glück) nur graue Theorie und ausschließlich in gewollten Tests erprobt.
-
Nein, wir sind Nutzer der in Bayern etablierten Eldis/emid Schnittstelle. Die RIC wird vom Alamos Server im LRA zugewiesen und Feuersoftware müsste die uns zuschlüsseln - und das passiert nicht