Neu: Die KI-Firewall überwacht die gesamte Plattform und erklärt jeden Vorfall in einfachen Worten. So funktioniert es

Verkäufe am Getränkeautomaten im Büro zählen: jeden Verkauf senden oder eine laufende Summe?

Verkäufe am Getränkeautomaten im Büro zählen: jeden Verkauf senden oder eine laufende Summe?

Gelöst 6 5

Von English mit KI übersetzt ·

Ein spaßiges Nebenprojekt. Ich habe die alte Geschichte vom Coke-Automaten der Universität gelesen, der Anfang der 80er seinen Bestand über das Netzwerk meldete, und wollte dasselbe für unseren Getränkeautomaten im Büro machen (alter Sanden-Automat, keine Elektronik, mit der sich reden lässt).Ich habe an der Ausgaberutsche jeder der 6 Spalten einen Mikroschalter angebracht, verdrahtet mit einem Wemos D1 mini. Er zählt die Ausgaben. Jetzt weiß ich nicht, was ich an Hermetry senden soll. Option 1: bei jedem Verkauf {„col3“: 1} senden. Option 2: pro Spalte eine laufende Summe führen und alle 5 Minuten senden. Ich möchte ein Diagramm der Verkäufe pro Tag und wissen, wann eine Spalte wahrscheinlich leer ist (wir füllen montags nach, 40 Dosen pro Spalte).Wie machen die Leute das üblicherweise?

♥ 0

Von English mit KI übersetzt ·

Was auch immer Sie tun, entprellen Sie den Mikroschalter. Eine Dose, die im Schacht hinunterprallt, erzeugt Ihnen 3 Zählimpulse.

♥ 2

Von English mit KI übersetzt ·

Einige dieser Automaten haben einen internen MDB-Bus, der Verkäufe korrekt meldet. Es lohnt sich vielleicht, einen Blick darauf zu werfen, bevor du weitere Löcher bohrst.

♥ 0

Von English mit KI übersetzt ·

Was passiert mit der laufenden Summe, wenn der Wemos neu startet? Stromausfälle, wenn die Reinigungskräfte den Stecker ziehen, wette ich.

Timestamps in UTC or it didn't happen.
♥ 2

Von English mit KI übersetzt ·

Er fängt jedes Mal wieder bei null an. Daran hatte ich nicht gedacht. Hier gibt es kein MDB, ich habe nachgesehen, das Gerät ist älter als ich.

♥ 1

Von English mit KI übersetzt ·

Ich habe das für die Waschmaschinen in zwei unserer Gebäude gemacht (Münzzählungen), daher hier das, was bei mir funktioniert hat, obwohl ich kein Programmierer bin.Senden Sie pro Spalte alle paar Minuten einen laufenden Gesamtwert als einfache Zahlen:

{"vend.col1": 1834, "vend.col2": 977, "vend.col3": 2210, ...}

Wählen Sie dann auf der Diagrammkarte die Aggregation „increase“. Sie ist für Zähler gedacht: Jeder Zeitabschnitt zeigt, wie stark der Zähler gestiegen ist, und wenn der Wert wegen eines Neustarts der Steuerung sinkt, wird ab null gezählt, anstatt einen riesigen negativen Wert anzuzeigen. Ein Neustart kostet Sie also nichts, solange Sie nicht zweimal innerhalb eines Abschnitts neu starten und dabei über den alten Wert kommen.Das Senden von {„col3“: 1} pro Verkauf funktioniert ebenfalls mit „sum“, aber wenn eine Nachricht verloren geht, ist die Zählung endgültig weg. Bei Gesamtwerten holt die nächste Nachricht den Rückstand auf.Eine Sache hat mich irritiert: Tagesabschnitte sind UTC-Tage. Wir sind in der Ostzeit, deshalb wurden meine „Tages“-Balken um 19 oder 20 Uhr geteilt. Für lokale Tage verwenden Sie stündliche Abschnitte und addieren die Stunden oder leben einfach damit.Für „wahrscheinlich leer“: Speichern Sie den Gesamtwert zum Zeitpunkt der Befüllung (ich schreibe montags pro Spalte ein Serverattribut über die Geräteseite) und lösen Sie einen Alarm aus, wenn die Differenz zum Gesamtwert etwa 38 überschreitet. Diesen Teil mache ich in einem Flow, weil eine Alarmbedingung keine Rechenoperationen zwischen zwei Werten durchführen kann.Seite: Aggregates and rollups.

Timestamps in UTC or it didn't happen.
Akzeptierte Lösung♥ 8

Von English mit KI übersetzt ·

Ich habe auf laufende Summen alle 5 Min. und „increase“ mit 1h-Intervallen umgestellt. Ich habe den Stecker absichtlich zweimal gezogen, und das Diagramm hat nicht gezuckt. Jason hatte auch recht, Spalte 4 wurde dreifach gezählt, bis ich ein Debounce von 150 ms hinzugefügt habe. Der Alarm für leere Spalten kommt nächstes Wochenende dran.

♥ 2
Ansicht von 7 Beiträgen – 1 bis 7 (von insgesamt 7)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.

Mitdiskutieren

Melde dich an, um Fragen zu stellen und zu beantworten, hilfreiche Beiträge mit „Gefällt mir“ zu markieren und die Antwort zu kennzeichnen, die dein Problem gelöst hat. Jeder Beitrag bringt Punkte und Stufen.

Teilen