Verschiedenes > MySensors

mySensors Temperaturfühler einrichten

<< < (5/9) > >>

jeti:
1a. das ist aus dem "internals" Fenster im gateway device steht zwischen NTFY_ORDER und STATE: jetzt nach einem restart von FHEM steht dort nur noch:

--- Code: ---PARTIAL �

--- Ende Code ---
1b. keine Ahnung woher das kommt im Log findet es sich wieder:

--- Code: ---2015.05.02 20:50:03 5: MYSENSORS/RAW: /�

--- Ende Code ---
2. verbose habe ich erst eben auf Level 5 geschalten hier das Ergebniss nache einem Neustart:

--- Code: ---2015.05.02 20:50:02 5: Cmd: >define MS_gateway MYSENSORS /dev/ttyUSB0<
2015.05.02 20:50:02 5: Loading ./FHEM/00_MYSENSORS.pm
2015.05.02 20:50:02 5: Cmd: >attr MS_gateway autocreate 1<
2015.05.02 20:50:02 5: Cmd: >attr MS_gateway first-sensorid 100<
2015.05.02 20:50:02 5: Cmd: >attr MS_gateway room Mysensors<
2015.05.02 20:50:02 5: Cmd: >attr MS_gateway stateFormat connection<
2015.05.02 20:50:02 5: Cmd: >attr MS_gateway verbose 5<
2015.05.02 20:50:02 1: Including ./log/fhem.save

2015.05.02 20:50:02 5: Cmd: >setstate MS_gateway connected<
2015.05.02 20:50:02 5: Cmd: >setstate MS_gateway 2015-05-02 20:49:54 connection connected<
2015.05.02 20:50:02 5: Cmd: >setstate MS_gateway 2015-05-02 20:49:54 state opened<

2015.05.02 20:50:02 5: Triggering global (1 changes)
2015.05.02 20:50:02 5: Notify loop for global INITIALIZED
2015.05.02 20:50:02 3: Opening MS_gateway device /dev/ttyUSB0
2015.05.02 20:50:02 3: MS_gateway device opened
2015.05.02 20:50:02 5: Triggering MS_gateway (1 changes)
2015.05.02 20:50:02 5: Notify loop for MS_gateway connection: connected
2015.05.02 20:50:02 5: MYSENSORS send: Rx: fr=000 ci=000 c=003(C_INTERNAL    ) st=002(I_VERSION       ) ack=0 ''

2015.05.02 20:50:02 5: SW: 303b303b333b303b323b0a
2015.05.02 20:50:02 5: Triggering initialUsbCheck
2015.05.02 20:50:02 4: initialUsbCheck exec usb create
2015.05.02 20:50:02 5: Cmd: >usb create<
2015.05.02 20:50:02 1: usb create starting
2015.05.02 20:50:02 4: ### ttyUSB0: checking if it is a TCM_ESP3
2015.05.02 20:50:02 4: already used by the fhem device MS_gateway
2015.05.02 20:50:02 1: usb create end


2015.05.02 20:50:03 5: MYSENSORS/RAW: /�


2015.05.02 20:50:10 4: HTTP FHEMWEB:192.168.1.124:51139 GET /fhem?XHR=1&inform=type=status;filter=room=Mysensors;since=1430592608;fmt=JSON×tamp=1430592618206
2015.05.02 20:50:10 4: HTTP FHEMWEB:192.168.1.124:51140 GET /fhem?detail=MS_gateway
2015.05.02 20:50:10 4: 8390:FHEMWEB:192.168.1.124:51140: /fhem?detail=MS_gateway / RL:2575 / text/html; charset=UTF-8 / Content-Encoding: gzip
 /

2015.05.02 20:50:10 4: HTTP FHEMWEB:192.168.1.124:51137 GET /fhem?cmd={ReadingsVal(%22MS_gateway%22,%22connect%22,%22%22)}&XHR=1
2015.05.02 20:50:10 5: Cmd: >{ReadingsVal("MS_gateway","connect","")}<
2015.05.02 20:50:10 4: 8390:FHEMWEB:192.168.1.124:51137: /fhem?cmd={ReadingsVal(%22MS_gateway%22,%22connect%22,%22%22)}&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
 /
2015.05.02 20:50:10 4: HTTP FHEMWEB:192.168.1.124:51140 GET /fhem?cmd={AttrVal(%22MS_gateway%22,%22room%22,%22%22)}&XHR=1
2015.05.02 20:50:10 5: Cmd: >{AttrVal("MS_gateway","room","")}<
2015.05.02 20:50:10 4: 8390:FHEMWEB:192.168.1.124:51140: /fhem?cmd={AttrVal(%22MS_gateway%22,%22room%22,%22%22)}&XHR=1 / RL:30 / text/plain; charset=UTF-8 / Content-Encoding: gzip
 /

2015.05.02 20:50:10 4: HTTP FHEMWEB:192.168.1.124:51138 GET /fhem?XHR=1&inform=type=status;filter=MS_gateway;since=1430592609;fmt=JSON×tamp=1430592619012


--- Ende Code ---
ich habe alles was nicht gateway und MYSENSORS war rausgelöscht damit es übersichtlich bleibt

3.Sensor habe ich zwei ganz einfache humidity wie auf mysensors beschrieben, ich habe nur die Node ID (101 & 102) als auch den sleep Zeitraum (verkürzt um schneller etwas zu sehen) angepasst.

Wie du schon gemerkt hast bin ich (noch) kein Profi auf dem Gebiet :(

Gruß

jeti:
die Baudrate....
jetzt gehts :)

vielen Dank!

hexenmeister:

--- Zitat von: jeti am 02 Mai 2015, 21:13:23 ---die Baudrate....

--- Ende Zitat ---
DEN Fehler hatte ich auch schon gemacht ;D

MichlB:
hallo
ich hab dazu mal ne frage...bin vor kurzem auf die "Mysensors" gestossen und finde das total spannend und sehr praktisch wegen dem funk...ich habe auch bereits ein ethernet-gatewas erstellt und erfolgreich in FHEM eingebunden

--- Code: ---define E_gate MYSENSORS 192.168.0.111:5003
attr E_gate alias Gateway
attr E_gate autocreate 1
attr E_gate first-sensorid 100
attr E_gate icon it_wireless_dcf77
attr E_gate requestAck 1
attr E_gate room Sensornet
attr E_gate stateFormat connection
--- Ende Code ---

jetzt wollte ich meinen ersten Sensornode mit einem DHT11 anbinden (inkl. 4 Relays) bekomm das aber nicht wirklich zum laufen....

--- Code: ---define mysensor1 MYSENSORS_DEVICE 100
attr mysensor1 IODev E_gate
attr mysensor1 config M
attr mysensor1 mapReading_humidity 0 humidity
attr mysensor1 mapReading_TEMP 1 temperature
attr mysensor1 mode node
attr mysensor1 requestAck 1
attr mysensor1 room Sensornet
attr mysensor1 stateFormat temperature °C
--- Ende Code ---



hier der Code meines nodes

--- Code: ---// Example sketch showing how to control physical relays.
// This example will remember relay state even after power failure.

#include <MySensor.h>
#include <SPI.h>
#include <DHT.h>

#define RELAY_1  3  // Arduino Digital I/O pin number for first relay (second on pin+1 etc)'
#define RELAY_2  4
#define RELAY_3  5
#define RELAY_4  6
#define NUMBER_OF_RELAYS 4 // Total number of attached relays
#define RELAY_ON 1  // GPIO value to write to turn on attached relay
#define RELAY_OFF 0 // GPIO value to write to turn off attached relay
#define CHILD_ID_HUM 0
#define CHILD_ID_TEMP 1
#define HUMIDITY_SENSOR_DIGITAL_PIN 8
unsigned long SLEEP_TIME = 30000; // Sleep time between reads (in milliseconds)

MySensor gw;
DHT dht;
float lastTemp;
float lastHum;
boolean metric = true;
MyMessage msgHum(CHILD_ID_HUM, V_HUM);
MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);

void setup()
{
  // Initialize library and add callback for incoming messages
  gw.begin(incomingMessage, AUTO, true);
  // Send the sketch version information to the gateway and Controller
  gw.sendSketchInfo("Relay", "1.4");

  // Fetch relay status
  for (int sensor = 1, pin = RELAY_1; sensor <= NUMBER_OF_RELAYS; sensor++, pin++) {
    // Register all sensors to gw (they will be created as child devices)
    gw.present(sensor, S_LIGHT);
    // Then set relay pins in output mode
    pinMode(pin, OUTPUT);
    // Set relay to last known state (using eeprom storage)
    digitalWrite(pin, gw.loadState(sensor) ? RELAY_ON : RELAY_OFF);
  }
  gw.begin();
  dht.setup(HUMIDITY_SENSOR_DIGITAL_PIN);

  // Send the Sketch Version Information to the Gateway
  gw.sendSketchInfo("Humidity", "1.4");

  // Register all sensors to gw (they will be created as child devices)
  gw.present(CHILD_ID_HUM, S_HUM);
  gw.present(CHILD_ID_TEMP, S_TEMP);
 
  metric = gw.getConfig().isMetric;
}


void loop()
{
  // Alway process incoming messages whenever possible
  gw.process();
 
  delay(dht.getMinimumSamplingPeriod());

  float temperature = dht.getTemperature();
  if (isnan(temperature)) {
      Serial.println("Failed reading temperature from DHT");
  } else if (temperature != lastTemp) {
    lastTemp = temperature;
    if (!metric) {
      temperature = dht.toFahrenheit(temperature);
    }
    gw.send(msgTemp.set(temperature, 1));
    Serial.print("T: ");
    Serial.println(temperature);
  }
 
  float humidity = dht.getHumidity();
  if (isnan(humidity)) {
      Serial.println("Failed reading humidity from DHT");
  } else if (humidity != lastHum) {
      lastHum = humidity;
      gw.send(msgHum.set(humidity, 1));
      Serial.print("H: ");
      Serial.println(humidity);
  }

  gw.sleep(SLEEP_TIME); //sleep a bit
}

void incomingMessage(const MyMessage &message) {
  // We only expect one type of message from controller. But we better check anyway.
  if (message.type == V_LIGHT) {
    // Change relay state
    digitalWrite(message.sensor - 1 + RELAY_1, message.getBool() ? RELAY_ON : RELAY_OFF);
    // Store state in eeprom
    gw.saveState(message.sensor, message.getBool());
    // Write some debug info
    Serial.print("Incoming change for sensor:");
    Serial.print(message.sensor);
    Serial.print(", New status: ");
    Serial.println(message.getBool());
  }
}


--- Ende Code ---

wie weiß ich welche werte ich wie ins fhem eintragen muss? damit das ganze funktioniert???ß ich habe mich jetzt mal durch das forum gehandelt und geschaut was ich so verwenden kann, bekomm aber keine werte aus meinem node...

also ich bin über jetzt hilfe dankbar!

jeti:
du benutzt einen DHT und Relais?
hast du schonmal den standard sketch benutzt?
http://www.mysensors.org/build/humidity

was steht dem in der FHEM log datei, bzw was sendet der Sensor über den serial monitor?

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln